File: CMakeLists.patch

package info (click to toggle)
litehtml 0.6-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 2,500 kB
  • sloc: ansic: 30,755; cpp: 17,661; makefile: 11
file content (77 lines) | stat: -rw-r--r-- 3,169 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fe71729..1c8b744 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,6 +16,8 @@ if(NOT EXTERNAL_GUMBO)
     add_subdirectory(src/gumbo)
 endif()
 
+include(GNUInstallDirs)
+
 set(SOURCE_LITEHTML
     src/background.cpp
     src/box.cpp
@@ -131,40 +133,43 @@ set(TEST_LITEHTML
 set(PROJECT_LIB_VERSION ${PROJECT_MAJOR}.${PROJECT_MINOR}.0)
 set(PROJECT_SO_VERSION ${PROJECT_MAJOR})
 
-add_library(${PROJECT_NAME} ${SOURCE_LITEHTML})
+add_library(${PROJECT_NAME}-static ${SOURCE_LITEHTML})
+add_library(${PROJECT_NAME} SHARED $<TARGET_OBJECTS:${PROJECT_NAME}-static>)
 set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_LIB_VERSION} SOVERSION ${PROJECT_SO_VERSION})
 
-set_target_properties(${PROJECT_NAME} PROPERTIES
+set_target_properties(${PROJECT_NAME}-static PROPERTIES
     CXX_STANDARD 11
     C_STANDARD 99
     PUBLIC_HEADER "${HEADER_LITEHTML}"
+    OUTPUT_NAME ${PROJECT_NAME}
+    POSITION_INDEPENDENT_CODE 1
 )
 
 # Export litehtml includes.
-target_include_directories(${PROJECT_NAME} PUBLIC
+target_include_directories(${PROJECT_NAME}-static PUBLIC
     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
     $<INSTALL_INTERFACE:include/${PROJECT_NAME}>)
-target_include_directories(${PROJECT_NAME} PRIVATE include/${PROJECT_NAME})
+target_include_directories(${PROJECT_NAME}-static PRIVATE include/${PROJECT_NAME})
 
 option(LITEHTML_UTF8 "Build litehtml with UTF-8 text conversion functions." OFF)
 if (LITEHTML_UTF8)
-  target_compile_definitions(${PROJECT_NAME} PUBLIC LITEHTML_UTF8)
+  target_compile_definitions(${PROJECT_NAME}-static PUBLIC LITEHTML_UTF8)
 endif()
 
 # Gumbo
 target_link_libraries(${PROJECT_NAME} PUBLIC gumbo)
 
 # install and export
-install(TARGETS ${PROJECT_NAME}
+install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}-static
     EXPORT litehtmlTargets
-    RUNTIME DESTINATION bin COMPONENT libraries
-    ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT libraries
-    LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT libraries
-    PUBLIC_HEADER DESTINATION include/litehtml
+    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libraries
+    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries
+    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries
+    PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/litehtml
 )
-install(FILES cmake/litehtmlConfig.cmake DESTINATION lib${LIB_SUFFIX}/cmake/litehtml)
-install(EXPORT litehtmlTargets FILE litehtmlTargets.cmake DESTINATION lib${LIB_SUFFIX}/cmake/litehtml)
+install(FILES cmake/litehtmlConfig.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/litehtml)
+install(EXPORT litehtmlTargets FILE litehtmlTargets.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/litehtml)
 
 # Generate master.css.inc
 function(make_inc src dst)
diff --git a/cmake/litehtmlConfig.cmake b/cmake/litehtmlConfig.cmake
index 5eedcf4..8cff5ed 100644
--- a/cmake/litehtmlConfig.cmake
+++ b/cmake/litehtmlConfig.cmake
@@ -1,3 +1 @@
-include(CMakeFindDependencyMacro)
-find_dependency(gumbo)
 include(${CMAKE_CURRENT_LIST_DIR}/litehtmlTargets.cmake)