-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
19 lines (17 loc) · 904 Bytes
/
CMakeLists.txt
File metadata and controls
19 lines (17 loc) · 904 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
cmake_minimum_required(VERSION 3.15)
project(libloader)
set(CMAKE_CXX_STANDARD 20)
include(GNUInstallDirs)
add_library(${PROJECT_NAME} INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/include/libloader.hpp")
target_include_directories(${PROJECT_NAME} INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
if(APPLE OR UNIX)
target_link_libraries(${PROJECT_NAME} INTERFACE dl)
endif()
option(LIBLOADER_BUILD_TEST "Build an application to test the library" OFF)
if(LIBLOADER_BUILD_TEST)
add_library(${PROJECT_NAME}_test_lib SHARED ${CMAKE_CURRENT_SOURCE_DIR}/test/test_lib.cpp ${CMAKE_CURRENT_SOURCE_DIR}/test/test_lib.h)
add_executable(${PROJECT_NAME}_test ${CMAKE_CURRENT_SOURCE_DIR}/test/test.cpp)
target_link_libraries(${PROJECT_NAME}_test ${PROJECT_NAME} ${PROJECT_NAME}_test_lib) # to build the DLL/DYLIB/SO
endif()