diff --git a/CMakeLists.txt b/CMakeLists.txt index 55071350250151091d757bb769b2e5a72bad1d60..042113ff52a1c5628b1f77e1a147d4dedbc8de30 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,14 @@ -project(libhtmlpp) +project(libhtmlpp CXX) cmake_minimum_required(VERSION 3.0) enable_testing () set(LIBV "1.0.0") set(Upstream_VERSION 1.0.0) -SET(CMAKE_CXX_FLAGS "-fPIC -Wall") +set(CMAKE_CXX_FLAGS "-fPIC -Wall") + +set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index dc087bc0609e1dc7b4f128bf780cd998c4a25475..aab7aa427d9ac460f2f72ee04e57cb1bb9e089e9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -3,6 +3,14 @@ set(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON) include(GenerateExportHeader) +set(headers + css.h + html.h + request.h + utils.h + exception.h +) + set(libhtmlSrcs css.cpp html.cpp @@ -10,16 +18,35 @@ set(libhtmlSrcs exception.cpp ) -add_library(htmlpp SHARED ${libhtmlSrcs} ) +add_library(htmlpp SHARED ${libhtmlSrcs} ${headers} ) target_compile_definitions(htmlpp PUBLIC -DSHARED) -add_library(htmlpp-static STATIC ${libhtmlSrcs} ) +add_library(htmlpp-static STATIC ${libhtmlSrcs} ${headers}) generate_export_header(htmlpp) target_link_libraries(htmlpp) target_link_libraries(htmlpp-static) +target_include_directories(htmlpp + INTERFACE + $ + $ + PRIVATE + $ +) + +set_property(TARGET htmlpp APPEND PROPERTY INCLUDE_DIRECTORIES "${CMAKE_CURRENT_LIST_DIR}/include") + +target_include_directories(htmlpp-static + INTERFACE + $ + $ + PRIVATE + $ +) + +set_property(TARGET htmlpp-static APPEND PROPERTY INCLUDE_DIRECTORIES "${CMAKE_INSTALL_INCLUDEDIR}") SET(CMAKE_INSTALL_LIBDIR lib CACHE PATH "Output directory for libraries") @@ -37,11 +64,7 @@ endif() install(TARGETS htmlpp-static DESTINATION lib EXPORT htmlppTargets) install(FILES - css.h - html.h - request.h - utils.h - exception.h + ${headers} "${CMAKE_BINARY_DIR}/config.h" "${CMAKE_CURRENT_BINARY_DIR}/htmlpp_export.h" DESTINATION include/htmlpp