Files
mutil/CMakeLists.txt
2025-06-23 13:54:24 -04:00

40 lines
945 B
CMake

cmake_minimum_required(VERSION 3.28)
project(mutil)
set(CMAKE_CXX_STANDARD 20)
if (PROJECT_SOURCE_DIR STREQUAL PROJECT_BINARY_DIR)
message(FATAL_ERROR "In-source builds are not allowed!")
endif()
file(GLOB_RECURSE mutil_HEADERS "include/*.h" "include/*.hpp")
##file(GLOB_RECURSE mutil_SRC "src/*.c" "src/*.cpp")
##if (UNIX)
## add_library(mutil SHARED ${mutil_SRC})
##endif()
## Untested for now
##if (WIN32)
## add_library(mutil STATIC ${mutil_SRC})
##endif()
add_library(mutil INTERFACE)
set_target_properties(mutil PROPERTIES LINKER_LANGUAGE CXX)
##target_include_directories(mutil PUBLIC "include")
target_include_directories(mutil INTERFACE "include")
install(TARGETS ${PROJECT_NAME} DESTINATION lib/${PROJECT_NAME})
install(FILES ${mutil_HEADERS} DESTINATION include/${PROJECT_NAME})
add_executable(mutilTest main.cpp)
##target_link_libraries(mutilTest PUBLIC mutil)
target_link_libraries(mutilTest PRIVATE mutil)