Use cmake interface library
This commit is contained in:
parent
2b8788f336
commit
f4b2e15649
@ -26,7 +26,7 @@ RETURN()
|
||||
|
||||
ENDIF()
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.12)
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
project(cxxopts)
|
||||
|
||||
enable_testing()
|
||||
@ -37,9 +37,7 @@ option(CXXOPTS_BUILD_EXAMPLES "Set to ON to build examples" ON)
|
||||
option(CXXOPTS_BUILD_TESTS "Set to ON to build tests" OFF)
|
||||
|
||||
set(CXXOPTS_LINKER_LIBRARIES "")
|
||||
|
||||
set(CXXOPTS_USE_UNICODE_HELP FALSE CACHE BOOL "Use ICU Unicode library")
|
||||
|
||||
if(CXXOPTS_USE_UNICODE_HELP)
|
||||
|
||||
find_package(PkgConfig)
|
||||
@ -48,8 +46,17 @@ if(CXXOPTS_USE_UNICODE_HELP)
|
||||
|
||||
set(CXXOPTS_LINKER_LIBRARIES "${ICU_LIBRARIES}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DCXXOPTS_USE_UNICODE")
|
||||
|
||||
endif()
|
||||
|
||||
add_library(cxxopts INTERFACE)
|
||||
target_sources(
|
||||
cxxopts INTERFACE
|
||||
${CMAKE_SOURCE_DIR}/include/cxxopts/cxxopts.hpp
|
||||
)
|
||||
target_include_directories(
|
||||
cxxopts INTERFACE
|
||||
${CMAKE_SOURCE_DIR}/include
|
||||
)
|
||||
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(test)
|
||||
|
||||
@ -19,7 +19,8 @@
|
||||
# THE SOFTWARE.
|
||||
|
||||
if(CXXOPTS_BUILD_EXAMPLES)
|
||||
add_executable(example example.cpp cxxopts.hpp)
|
||||
add_executable(example example.cpp)
|
||||
target_link_libraries(example PRIVATE cxxopts)
|
||||
|
||||
target_link_libraries(example ${CXXOPTS_LINKER_LIBRARIES})
|
||||
|
||||
@ -29,5 +30,3 @@ if(CXXOPTS_BUILD_EXAMPLES)
|
||||
target_compile_options(example PUBLIC -std=c++11 -Wall)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
install(FILES cxxopts.hpp DESTINATION include)
|
||||
|
||||
@ -24,7 +24,7 @@ THE SOFTWARE.
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include "cxxopts.hpp"
|
||||
#include "cxxopts/cxxopts.hpp"
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
if (CXXOPTS_BUILD_TESTS)
|
||||
add_executable(options_test options.cpp)
|
||||
target_link_libraries(options_test PRIVATE cxxopts)
|
||||
|
||||
target_link_libraries(options_test ${CXXOPTS_LINKER_LIBRARIES})
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
|
||||
#include <initializer_list>
|
||||
|
||||
#include "../src/cxxopts.hpp"
|
||||
#include "cxxopts/cxxopts.hpp"
|
||||
|
||||
class Argv {
|
||||
public:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user