40 lines
945 B
CMake
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)
|