aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libsmacker/CMakeLists.txt
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/libsmacker/CMakeLists.txt
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/libsmacker/CMakeLists.txt')
-rw-r--r--vcpkg/ports/libsmacker/CMakeLists.txt43
1 files changed, 43 insertions, 0 deletions
diff --git a/vcpkg/ports/libsmacker/CMakeLists.txt b/vcpkg/ports/libsmacker/CMakeLists.txt
new file mode 100644
index 0000000..08ba006
--- /dev/null
+++ b/vcpkg/ports/libsmacker/CMakeLists.txt
@@ -0,0 +1,43 @@
+cmake_minimum_required(VERSION 3.20)
+project(libsmacker C)
+
+option(LIBSMACKER_BUILD_TOOLS "Build smk2avi and driver executables" OFF)
+
+add_library(libsmacker smacker.c)
+
+if(WIN32 AND BUILD_SHARED_LIBS)
+ target_sources(libsmacker PRIVATE smacker.def)
+endif()
+
+if(MSVC)
+ target_compile_definitions(libsmacker PRIVATE -D_CRT_SECURE_NO_WARNINGS)
+endif()
+
+target_include_directories(libsmacker PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:include>)
+set_target_properties(libsmacker PROPERTIES PUBLIC_HEADER "smacker.h")
+
+install(TARGETS libsmacker
+ EXPORT libsmackerTargets
+ PUBLIC_HEADER DESTINATION include
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+install(EXPORT libsmackerTargets
+ FILE unofficial-libsmacker-config.cmake
+ NAMESPACE unofficial::libsmacker::
+ DESTINATION share/unofficial-libsmacker
+)
+
+if(LIBSMACKER_BUILD_TOOLS)
+ add_executable(driver driver.c)
+ target_include_directories(driver PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}")
+ target_link_libraries(driver libsmacker)
+ install(TARGETS driver RUNTIME DESTINATION bin)
+
+ add_executable(smk2avi smk2avi.c)
+ target_include_directories(driver PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}")
+ target_link_libraries(smk2avi libsmacker)
+ install(TARGETS smk2avi RUNTIME DESTINATION bin)
+endif()