diff --git a/CMakeLists.txt b/CMakeLists.txt index b894234..159544c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,55 +57,8 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # ------------------------------------------ # Engine target -# GLFW options -set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE) -set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE) -set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) - -# Add GLFW target to project -add_subdirectory(${ENGINE}/vendor/glfw) - -# Define engine source files -file(GLOB_RECURSE GLAD "${ENGINE}/vendor/glad/*.c") -file(GLOB LUA "${ENGINE}/vendor/lua/lua/*.c") -list(REMOVE_ITEM LUA "${CMAKE_SOURCE_DIR}/${ENGINE}/vendor/lua/lua/onelua.c") # Do not compile single file variant -list(REMOVE_ITEM LUA "${CMAKE_SOURCE_DIR}/${ENGINE}/vendor/lua/lua/ltests.c") # Do not compile internal debugging -list(REMOVE_ITEM LUA "${CMAKE_SOURCE_DIR}/${ENGINE}/vendor/lua/lua/lua.c") # Do not compile interpreter -file(GLOB_RECURSE ENGINE_SOURCES "${ENGINE}/src/${ENGINE}/*.cpp") -set(ENGINE_SOURCES ${GLAD} ${LUA} ${ENGINE_SOURCES}) - -add_library(${ENGINE} ${ENGINE_SOURCES}) -target_include_directories(${ENGINE} PRIVATE - "${ENGINE}/src" - "${ENGINE}/vendor/entt/src" - "${ENGINE}/vendor/glad/include" - "${ENGINE}/vendor/glfw/include" - "${ENGINE}/vendor/glm" - "${ENGINE}/vendor/json/include" - "${ENGINE}/vendor/lua" - "${ENGINE}/vendor/sol2/include" - "${ENGINE}/vendor/stb") -target_link_libraries(${ENGINE} glfw) - -# ------------------------------------------ - -target_precompile_headers(${ENGINE} PRIVATE - "$<$:>" - "$<$:>" - "$<$:>" - "$<$:>" - "$<$:>" - "$<$:>" - "$<$:>" - "$<$:>" - "$<$:>" - "$<$:>" - "$<$:>" - "$<$:>" - "$<$:>" - "$<$:>" - "$<$:>" -) +# Add engine target to project +add_subdirectory("${CMAKE_SOURCE_DIR}/${ENGINE}") # ------------------------------------------ # Examples target diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt index 4e635f2..62fb4ad 100644 --- a/example/CMakeLists.txt +++ b/example/CMakeLists.txt @@ -13,6 +13,7 @@ file(GLOB_RECURSE GAME_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp") add_executable(${GAME} ${GAME_SOURCES}) target_include_directories(${GAME} PRIVATE + "src" "${CMAKE_SOURCE_DIR}/${ENGINE}/src") target_link_libraries(${GAME} ${ENGINE}) diff --git a/inferno/CMakeLists.txt b/inferno/CMakeLists.txt new file mode 100644 index 0000000..8a16ac0 --- /dev/null +++ b/inferno/CMakeLists.txt @@ -0,0 +1,49 @@ +# GLFW options +set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE) +set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE) +set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) + +# Add GLFW target to project +add_subdirectory(vendor/glfw) + +# Define engine source files +file(GLOB_RECURSE GLAD "vendor/glad/*.c") +file(GLOB LUA "vendor/lua/lua/*.c") +list(REMOVE_ITEM LUA "${CMAKE_CURRENT_SOURCE_DIR}/vendor/lua/lua/onelua.c") # Do not compile single file variant +list(REMOVE_ITEM LUA "${CMAKE_CURRENT_SOURCE_DIR}/vendor/lua/lua/ltests.c") # Do not compile internal debugging +list(REMOVE_ITEM LUA "${CMAKE_CURRENT_SOURCE_DIR}/vendor/lua/lua/lua.c") # Do not compile interpreter +file(GLOB_RECURSE ENGINE_SOURCES "src/*.cpp") +set(ENGINE_SOURCES ${GLAD} ${LUA} ${ENGINE_SOURCES}) + +add_library(${ENGINE} ${ENGINE_SOURCES}) +target_include_directories(${ENGINE} PRIVATE + "src" + "vendor/entt/src" + "vendor/glad/include" + "vendor/glfw/include" + "vendor/glm" + "vendor/json/include" + "vendor/lua" + "vendor/sol2/include" + "vendor/stb") +target_link_libraries(${ENGINE} glfw) + +# ------------------------------------------ + +target_precompile_headers(${ENGINE} PRIVATE + "$<$:>" + "$<$:>" + "$<$:>" + "$<$:>" + "$<$:>" + "$<$:>" + "$<$:>" + "$<$:>" + "$<$:>" + "$<$:>" + "$<$:>" + "$<$:>" + "$<$:>" + "$<$:>" + "$<$:>" +)