Phoenix/Phoenix/Client/CMakeLists.txt

37 lines
1.3 KiB
CMake

project(PhoenixClient)
add_subdirectory(Include/Client)
add_subdirectory(Source)
add_executable(${PROJECT_NAME} ${Headers} ${Sources})
target_link_libraries(${PROJECT_NAME} PRIVATE ${PHX_THIRD_PARTY_LIBRARIES} PhoenixCommon)
target_include_directories(${PROJECT_NAME} PRIVATE Include)
target_include_directories(${PROJECT_NAME} PRIVATE ${PHX_COMMON_INCLUDES} ${PHX_THIRD_PARTY_INCLUDES})
set_target_properties(${PROJECT_NAME} PROPERTIES
CXX_STANDARD 17
CMAKE_CXX_STANDARD_REQUIRED ON
CMAKE_CXX_EXTENSIONS OFF
)
#################################################
## ORGANISE FILES FOR IDEs (Xcode, VS, etc...) ##
#################################################
source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}/Include/Client" PREFIX "Header Files" FILES ${Headers})
source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}/Source" PREFIX "Source Files" FILES ${Sources})
#################################################
## COPY SAVE, ASSETS, and MODULES TO BUILD DIR ##
#################################################
add_dependencies(${PROJECT_NAME} PhoenixAssets-client)
add_dependencies(${PROJECT_NAME} PhoenixModules-client)
add_dependencies(${PROJECT_NAME} PhoenixSaves-client)
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_FILE:OpenAL>
$<TARGET_FILE_DIR:${PROJECT_NAME}>/$<TARGET_FILE_NAME:OpenAL>
)