File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -24,6 +24,8 @@ file(GLOB_RECURSE PROJECT_FILES
2424 "${PROJECT_SOURCE_DIR } /plugins/*.hpp"
2525)
2626
27+ include (FetchContent )
28+
2729include (MakeVersion )
2830include (MakeDoc )
2931include (ClangTidy )
@@ -49,32 +51,6 @@ if (CAE_BUILD_DOC_HTML OR CAE_BUILD_DOC_PDF)
4951 endif ()
5052endif ()
5153
52- find_package (nlohmann_json QUIET CONFIG )
53- if (NOT nlohmann_json_FOUND)
54- include (FetchContent )
55- FetchContent_Declare (
56- nlohmann-json
57- GIT_REPOSITORY "https://github.com/nlohmann/json.git"
58- GIT_TAG "v3.12.0"
59- GIT_SHALLOW TRUE
60- GIT_PROGRESS TRUE
61- )
62- FetchContent_MakeAvailable (nlohmann-json)
63- endif ()
64- find_package (glm QUIET CONFIG )
65- if (NOT glm_FOUND)
66- FetchContent_Declare (
67- glm
68- GIT_REPOSITORY "https://github.com/g-truc/glm.git"
69- GIT_TAG 1.0.3
70- GIT_SHALLOW TRUE
71- GIT_PROGRESS TRUE
72- )
73- set (GLM_BUILD_TESTS OFF CACHE BOOL "" FORCE )
74- set (BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE )
75- FetchContent_MakeAvailable (glm)
76- endif ()
77-
7854add_subdirectory (modules )
7955add_subdirectory (plugins )
8056add_subdirectory (tests )
Original file line number Diff line number Diff line change @@ -7,6 +7,18 @@ project(cae-editor
77
88generate_version_header ("${CMAKE_BINARY_DIR } /include/CAE/VersionEditor.hpp" )
99
10+ find_package (nlohmann_json QUIET CONFIG )
11+ if (NOT nlohmann_json_FOUND)
12+ FetchContent_Declare (
13+ nlohmann-json
14+ GIT_REPOSITORY "https://github.com/nlohmann/json.git"
15+ GIT_TAG "v3.12.0"
16+ GIT_SHALLOW TRUE
17+ GIT_PROGRESS TRUE
18+ )
19+ FetchContent_MakeAvailable (nlohmann-json)
20+ endif ()
21+
1022file (GLOB_RECURSE SOURCES CONFIGURE_DEPENDS "${PROJECT_SOURCE_DIR } /src/*.cpp" )
1123
1224add_executable (${PROJECT_NAME } ${SOURCES} )
@@ -23,9 +35,11 @@ target_include_directories(${PROJECT_NAME} PRIVATE
2335 ${glm_SOURCE_DIR }
2436)
2537target_link_libraries (${PROJECT_NAME } PRIVATE
26- cae-modules
38+ cae-compile-options
39+ cae-interfaces
40+ cae-utils
41+ cae-engine
2742 nlohmann_json::nlohmann_json
28- glm::glm
2943)
3044
3145set_target_properties (${PROJECT_NAME } PROPERTIES
Original file line number Diff line number Diff line change 1- add_library (cae-modules INTERFACE )
2-
31add_subdirectory (Utils )
2+ add_subdirectory (Interfaces )
43add_subdirectory (Engine )
5-
6- target_link_libraries (cae-modules INTERFACE
7- cae-utils
8- cae-engine
9- cae-compile-options
10- )
11- target_include_directories (cae-modules SYSTEM INTERFACE
12- "${CMAKE_CURRENT_SOURCE_DIR } /Interfaces/include"
13- )
Original file line number Diff line number Diff line change @@ -10,6 +10,20 @@ set(INCLUDE_DIR "${PROJECT_SOURCE_DIR}/include")
1010file (GLOB_RECURSE SOURCES "${SRC_DIR} /*.cpp" )
1111file (GLOB_RECURSE HEADERS "${INCLUDE_DIR} /Engine/*.hpp" )
1212
13+ find_package (glm QUIET CONFIG )
14+ if (NOT glm_FOUND)
15+ FetchContent_Declare (
16+ glm
17+ GIT_REPOSITORY "https://github.com/g-truc/glm.git"
18+ GIT_TAG 1.0.3
19+ GIT_SHALLOW TRUE
20+ GIT_PROGRESS TRUE
21+ )
22+ set (GLM_BUILD_TESTS OFF CACHE BOOL "" FORCE )
23+ set (BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE )
24+ FetchContent_MakeAvailable (glm)
25+ endif ()
26+
1327add_library (${PROJECT_NAME } STATIC )
1428
1529if (CAE_ENABLE_LTO)
@@ -24,23 +38,22 @@ target_sources(${PROJECT_NAME}
2438)
2539
2640target_link_libraries (${PROJECT_NAME } PRIVATE
27- cae-utils
2841 cae-compile-options
42+ cae-interfaces
43+ cae-utils
2944 glm::glm
3045)
3146target_include_directories (${PROJECT_NAME }
3247 PUBLIC
3348 $<BUILD_INTERFACE :${INCLUDE_DIR} >
3449 $<INSTALL_INTERFACE :include >
35- ${glm_SOURCE_DIR }
3650 PRIVATE
37- " ${ CMAKE_SOURCE_DIR } /modules/Interfaces/include"
51+ ${ glm_SOURCE_DIR }
3852)
3953
4054set_target_properties (${PROJECT_NAME } PROPERTIES
4155 CXX_STANDARD 23
4256 CXX_STANDARD_REQUIRED ON
4357 POSITION_INDEPENDENT_CODE ON
4458 CXX_EXTENSIONS OFF
45- LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR } /bin/lib"
4659)
Original file line number Diff line number Diff line change 1+ add_library (cae-interfaces INTERFACE )
2+
3+ target_include_directories (cae-interfaces SYSTEM INTERFACE
4+ "${CMAKE_CURRENT_SOURCE_DIR } /include"
5+ )
Original file line number Diff line number Diff line change @@ -10,7 +10,6 @@ set(INCLUDE_DIR "${PROJECT_SOURCE_DIR}/include")
1010file (GLOB_RECURSE SOURCES "${SRC_DIR} /*.cpp" )
1111file (GLOB_RECURSE HEADERS "${INCLUDE_DIR} /Utils/*.hpp" )
1212
13- include (FetchContent )
1413FetchContent_Declare (
1514 stb
1615 GIT_REPOSITORY "https://github.com/nothings/stb.git"
@@ -49,5 +48,4 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
4948 CXX_STANDARD_REQUIRED ON
5049 POSITION_INDEPENDENT_CODE ON
5150 CXX_EXTENSIONS OFF
52- LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR } /bin/lib"
5351)
Original file line number Diff line number Diff line change @@ -5,15 +5,21 @@ project(cae-renderer-directx11
55
66file (GLOB_RECURSE SOURCES "${PROJECT_SOURCE_DIR } /src/*.cpp" )
77
8- add_library (${PROJECT_NAME } SHARED ${SOURCES} )
8+ add_library (${PROJECT_NAME } MODULE ${SOURCES} )
99
1010target_include_directories (${PROJECT_NAME } PRIVATE
1111 "${PROJECT_SOURCE_DIR } /include"
1212)
1313target_link_libraries (${PROJECT_NAME } PRIVATE
14- cae-modules
14+ cae-compile-options
15+ cae-interfaces
16+ cae-utils
1517)
1618set_target_properties (${PROJECT_NAME } PROPERTIES
17- LIBRARY_OUTPUT_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY } "
18- RUNTIME_OUTPUT_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY } "
19+ CXX_STANDARD 23
20+ CXX_STANDARD_REQUIRED ON
21+ POSITION_INDEPENDENT_CODE ON
22+ CXX_EXTENSIONS OFF
23+ ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR } /bin/lib"
24+ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR } /bin/lib"
1925)
Original file line number Diff line number Diff line change @@ -5,15 +5,21 @@ project(cae-renderer-directx12
55
66file (GLOB_RECURSE SOURCES "${PROJECT_SOURCE_DIR } /src/*.cpp" )
77
8- add_library (${PROJECT_NAME } SHARED ${SOURCES} )
8+ add_library (${PROJECT_NAME } MODULE ${SOURCES} )
99
1010target_include_directories (${PROJECT_NAME } PRIVATE
1111 "${PROJECT_SOURCE_DIR } /include"
1212)
1313target_link_libraries (${PROJECT_NAME } PRIVATE
14- cae-modules
14+ cae-compile-options
15+ cae-interfaces
16+ cae-utils
1517)
1618set_target_properties (${PROJECT_NAME } PROPERTIES
17- LIBRARY_OUTPUT_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY } "
18- RUNTIME_OUTPUT_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY } "
19+ CXX_STANDARD 23
20+ CXX_STANDARD_REQUIRED ON
21+ POSITION_INDEPENDENT_CODE ON
22+ CXX_EXTENSIONS OFF
23+ ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR } /bin/lib"
24+ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR } /bin/lib"
1925)
Original file line number Diff line number Diff line change @@ -9,7 +9,6 @@ if (NOT OPENGL_FOUND)
99 return ()
1010endif ()
1111
12- include (FetchContent )
1312FetchContent_Declare (
1413 glad
1514 GIT_REPOSITORY "https://github.com/bobis33/glad"
@@ -36,7 +35,7 @@ if (APPLE)
3635 list (APPEND SOURCES ${SOURCES_MM} )
3736endif ()
3837
39- add_library (${PROJECT_NAME } SHARED ${SOURCES} )
38+ add_library (${PROJECT_NAME } MODULE ${SOURCES} )
4039
4140target_include_directories (${PROJECT_NAME } PRIVATE
4241 "${PROJECT_SOURCE_DIR } /include"
@@ -47,7 +46,7 @@ if (UNIX AND NOT APPLE)
4746 target_include_directories (${PROJECT_NAME } PRIVATE ${EGL_INCLUDE_DIRS} )
4847endif ()
4948
50- set (PLATFORM_LIBS cae-modules OpenGL::GL glad glm::glm)
49+ set (PLATFORM_LIBS cae-compile-options cae-interfaces cae-utils OpenGL::GL glad glm::glm)
5150if (UNIX AND NOT APPLE )
5251 list (APPEND PLATFORM_LIBS ${EGL_LIBRARIES} )
5352elseif (APPLE )
@@ -60,5 +59,6 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
6059 CXX_STANDARD_REQUIRED ON
6160 POSITION_INDEPENDENT_CODE ON
6261 CXX_EXTENSIONS OFF
62+ ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR } /bin/lib"
6363 LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR } /bin/lib"
6464)
Original file line number Diff line number Diff line change @@ -5,7 +5,6 @@ project(cae-renderer-vulkan
55
66find_package (Vulkan QUIET CONFIG )
77if (NOT Vulkan_FOUND)
8- include (FetchContent )
98 set (VULKAN_VERSION "v1.4.329" )
109 set (VULKAN_HEADERS_ENABLE_TESTS OFF CACHE BOOL "" FORCE )
1110 FetchContent_Declare (
@@ -34,20 +33,23 @@ endif()
3433
3534file (GLOB_RECURSE SOURCES "${PROJECT_SOURCE_DIR } /src/*.cpp" )
3635
37- add_library (${PROJECT_NAME } SHARED ${SOURCES} )
36+ add_library (${PROJECT_NAME } MODULE ${SOURCES} )
3837
3938target_include_directories (${PROJECT_NAME } PRIVATE
4039 "${PROJECT_SOURCE_DIR } /include"
4140 ${Vulkan_INCLUDE_DIRS}
4241)
4342target_link_libraries (${PROJECT_NAME } PRIVATE
44- cae-modules
43+ cae-compile-options
44+ cae-interfaces
45+ cae-utils
4546 ${Vulkan_LIBRARIES}
4647)
4748set_target_properties (${PROJECT_NAME } PROPERTIES
4849 CXX_STANDARD 23
4950 CXX_STANDARD_REQUIRED ON
5051 POSITION_INDEPENDENT_CODE ON
5152 CXX_EXTENSIONS OFF
53+ ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR } /bin/lib"
5254 LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR } /bin/lib"
5355)
You can’t perform that action at this time.
0 commit comments