Redcraft/Redcraft.Utility.Test/CMakeLists.txt

24 lines
924 B
CMake

cmake_minimum_required (VERSION 3.8)
# Set module name.
string(REGEX REPLACE ".*/(.*)" "\\1" MODULE_NAME ${CMAKE_CURRENT_SOURCE_DIR})
message (STATUS "Configuring module: " ${MODULE_NAME})
# Add target.
file (GLOB_RECURSE MODULE_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/Source/*")
add_executable(${MODULE_NAME} ${MODULE_SOURCE_FILES})
target_compile_definitions (${MODULE_NAME} PRIVATE "MODULE_NAME=${MODULE_NAME}")
# Add include directories.
target_include_directories (${MODULE_NAME} PRIVATE "Source")
# Define API macro.
string (TOUPPER ${MODULE_NAME} MODULE_API)
string (REGEX REPLACE "[^A-Z ^0-1]" "" MODULE_API ${MODULE_API})
set (MODULE_API "${MODULE_API}_API")
target_compile_definitions (${MODULE_NAME} PRIVATE "${MODULE_API}=DLLEXPORT")
target_compile_definitions (${MODULE_NAME} INTERFACE "${MODULE_API}=DLLIMPORT")
# Add project dependencies
target_link_libraries (${MODULE_NAME} PRIVATE Redcraft.Utility)