1
1
cmake_minimum_required (VERSION 3.16)
2
- project (screen_capture_lite_build)
2
+ project (screen_capture_lite_build VERSION 17.1 )
3
3
4
4
set (CMAKE_CXX_STANDARD 17)
5
+ #set(CMAKE_DEBUG_POSTFIX "d")
5
6
set (CMAKE_CXX_STANDARD_REQUIRED ON )
6
7
set (CMAKE_CXX_EXTENSIONS OFF )
7
8
option (BUILD_EXAMPLE "Build example" ON )
8
- set (BUILD_SHARED_LIBS OFF CACHE INTERNAL "Build shared libraries" )
9
+ option (BUILD_CSHARP "Build C#" ON )
10
+ option (BUILD_SHARED_LIBS "Build shared libraries" ON )
9
11
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} )
10
12
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} )
11
13
@@ -21,14 +23,34 @@ else()
21
23
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic" )
22
24
endif ()
23
25
26
+ if (${BUILD_SHARED_LIBS} )
27
+ set (TARGET_SUFFIX shared)
28
+ else ()
29
+ set (TARGET_SUFFIX static )
30
+ endif ()
31
+
32
+ set (TARGET_NAME screen_capture_lite_${TARGET_SUFFIX} )
33
+
24
34
add_subdirectory (src_cpp)
25
- add_subdirectory (src_csharp)
35
+ if (${BUILD_CSHARP} AND ${BUILD_SHARED_LIBS} )
36
+ add_subdirectory (src_csharp)
37
+ endif ()
26
38
27
- install (TARGETS screen_capture_lite_static screen_capture_lite_shared
28
- RUNTIME DESTINATION bin
29
- ARCHIVE DESTINATION lib
30
- LIBRARY DESTINATION lib
39
+ install (TARGETS ${TARGET_NAME}
40
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
41
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
42
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
43
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
31
44
)
45
+
46
+ configure_file (modules/${TARGET_NAME} Config.cmake.in ${TARGET_NAME} Config.cmake @ONLY)
47
+
48
+ #export(TARGETS ${TARGET_NAME} FILE ${TARGET_NAME}-config.cmake)
49
+ #install(EXPORT ${TARGET_NAME}-config FILE ${TARGET_NAME}-config.cmake DESTINATION lib/cmake/screen_capture_lite)
50
+
51
+ install (FILES ${CMAKE_CURRENT_BINARY_DIR} /${TARGET_NAME} Config.cmake
52
+ DESTINATION lib${LIB_SUFFIX} /cmake/screen_capture_lite)
53
+
32
54
33
55
install (FILES
34
56
include /ScreenCapture.h
@@ -45,11 +67,13 @@ if (NOT TARGET uninstall)
45
67
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR} /cmake_uninstall.cmake)
46
68
endif ()
47
69
48
- enable_testing ()
70
+ enable_testing ()
49
71
50
72
if (${BUILD_EXAMPLE} )
51
73
add_subdirectory (Example_OpenGL)
52
74
add_subdirectory (Example_CPP)
53
- add_subdirectory (Example_CSharp)
54
- add_subdirectory (Example_Unity)
75
+ if (${BUILD_CSHARP} AND ${BUILD_SHARED_LIBS} )
76
+ add_subdirectory (Example_CSharp)
77
+ add_subdirectory (Example_Unity)
78
+ endif ()
55
79
endif ()
0 commit comments