Files
pokemon-battle-engine/src/CMakeLists.txt
cdemeyer-teachx 058efbd673 rapidjson
2025-08-14 18:41:05 +09:00

43 lines
1.1 KiB
CMake

# Source files CMakeLists.txt
# Collect all source files
file(GLOB_RECURSE SOURCES "*.cpp" "*.cc" "*.cxx")
file(GLOB_RECURSE HEADERS "*.h" "*.hpp" "*.hxx")
# Create the main library
add_library(pokemon_battle_sim ${SOURCES} ${HEADERS})
# Set library properties
set_target_properties(pokemon_battle_sim PROPERTIES
VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR}
)
# Include directories
target_include_directories(pokemon_battle_sim
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${RAPIDJSON_INCLUDE_DIR}
)
# Link dependencies
target_link_libraries(pokemon_battle_sim
PRIVATE
Threads::Threads
)
# Create an alias for consistency
add_library(PokemonSim::pokemon_battle_sim ALIAS pokemon_battle_sim)
# Export the target
install(TARGETS pokemon_battle_sim
EXPORT PokemonSimTargets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)