aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2022-05-30 16:02:16 -0700
committerrtk0c <[email protected]>2022-05-30 16:02:16 -0700
commit66ee4d47d55516ff55f72dfe2de1fb16c04dcb5b (patch)
tree435d2c2cd42b39b7607325af3d4d13dc2f5a1613
parent80afa67d2b9f1c0605696a3fd69058544fe12fe4 (diff)
Changeset: 54 Switch the main game target to use file glob
-rw-r--r--CMakeLists.txt33
-rw-r--r--source/CMakeLists.txt39
2 files changed, 16 insertions, 56 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7d4ecf6..2ac88ec 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -102,32 +102,31 @@ endfunction()
# ==============================================================================
-# add_executable requires at least one source file
-add_executable(${PROJECT_NAME} dummy.c)
-add_subdirectory(source)
+file(GLOB_RECURSE brussel_SOURCES source/*.h source/*.c source/*.hpp source/*.cpp)
+add_executable(brussel ${brussel_SOURCES})
-set_target_properties(${PROJECT_NAME} PROPERTIES
+set_target_properties(brussel PROPERTIES
UNITY_BUILD_MODE BATCH
- UNITY_BUILD_UNIQUE_ID "${PROJECT_NAME}_UNITY_ID"
+ UNITY_BUILD_UNIQUE_ID "ProjectBrussel_UNITY_ID"
)
-set_target_properties(${PROJECT_NAME} PROPERTIES
+set_target_properties(brussel PROPERTIES
CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF
)
-target_compile_definitions(${PROJECT_NAME} PRIVATE
+target_compile_definitions(brussel PRIVATE
RAPIDJSON_HAS_STDSTRING=1
IMGUI_DISABLE_OBSOLETE_FUNCTIONS
BRUSSEL_DEV_ENV=1
)
-target_include_directories(${PROJECT_NAME} PRIVATE
+target_include_directories(brussel PRIVATE
sources
)
-target_link_libraries(${PROJECT_NAME} PRIVATE
+target_link_libraries(brussel PRIVATE
# External dependencies
${CONAN_LIBS}
OpenGL::GL
@@ -142,11 +141,14 @@ target_link_libraries(${PROJECT_NAME} PRIVATE
things_codegen_base
)
-target_use_windows_subsystem(${PROJECT_NAME})
+target_use_windows_subsystem(brussel)
+
+get_filename_component(METADATA_INP_DIR "source" ABSOLUTE)
+target_gen_metadata(brussel ${METADATA_INP_DIR})
option(BRUSSEL_ENABLE_PROFILING "Whether profiling support is enabled or not." OFF)
if(BRUSSEL_ENABLE_PROFILING)
- target_compile_definitions(${PROJECT_NAME}
+ target_compile_definitions(brussel
PRIVATE
TRACY_ENABLE
)
@@ -154,7 +156,7 @@ endif()
option(BRUSSEL_ENABLE_EDITOR "Enable editor support or not." ON)
if(BRUSSEL_ENABLE_EDITOR)
- target_compile_definitions(${PROJECT_NAME}
+ target_compile_definitions(brussel
PRIVATE
BRUSSEL_ENABLE_EDITOR=1
)
@@ -162,17 +164,14 @@ endif()
option(BRUSSEL_ENABLE_ASAN "Enable AddressSanitizer or not." OFF)
if(BRUSSEL_ENABLE_ASAN)
- target_compile_options(${PROJECT_NAME}
+ target_compile_options(brussel
PRIVATE
-fsanitize=address
-fno-omit-frame-pointer
)
- target_link_options(${PROJECT_NAME}
+ target_link_options(brussel
PRIVATE
-fsanitize=address
-fno-omit-frame-pointer
)
endif()
-
-get_filename_component(METADATA_INP_DIR "source" ABSOLUTE)
-target_gen_metadata(${PROJECT_NAME} ${METADATA_INP_DIR})
diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
deleted file mode 100644
index abb724b..0000000
--- a/source/CMakeLists.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-target_sources(${PROJECT_NAME}
-PRIVATE
- App.cpp
- Camera.cpp
- CommonVertexIndex.cpp
- EditorAccessories.cpp
- EditorAttachmentImpl.cpp
- EditorCommandPalette.cpp
- EditorCorePrivate.cpp
- EditorGuizmo.cpp
- EditorNotification.cpp
- EditorUtils.cpp
- FuzzyMatch.cpp
- GameObject.cpp
- GraphicsTags.cpp
- Image.cpp
- Ires.cpp
- Level.cpp
- Material.cpp
- Mesh.cpp
- Player.cpp
- Renderer.cpp
- SceneThings.cpp
- Shader.cpp
- Sprite.cpp
- Texture.cpp
- VertexIndex.cpp
- World.cpp
-)
-
-set(ProjectBrussel_SINGLE_UNIT_SRC
- main.cpp
-)
-target_sources(${PROJECT_NAME} PRIVATE ${ProjectBrussel_SINGLE_UNIT_SRC})
-set_source_files_properties(${ProjectBrussel_SINGLE_UNIT_SRC}
-TARGET_DIRECTORY ${PROJECT_NAME}
-PROPERTIES
- SKIP_UNITY_BUILD_INCLUSION ON
-)