aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/CMakeLists.txt
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-04-10 14:17:35 +0200
committerJay Berkenbilt <ejb@ql.org>2022-04-10 22:52:36 +0200
commit90cfe80bacdd0d398631afce76c4182e08cc78b9 (patch)
tree369c3b9dfb0f8f8dac6181267b843934e976e40a /libqpdf/CMakeLists.txt
parent8c504c9a905dc1cddbcbb32b368afe91f340984f (diff)
downloadqpdf-90cfe80bacdd0d398631afce76c4182e08cc78b9.tar.zst
Clean up/fix DLL.h
* Change DLL_EXPORT to libqpdf_EXPORTS (internal to the build). The new name is cmake's default, is more conventional, and is less likely to clash with other symbols. * Add QPDF_DLL_PRIVATE for non-Windows * Make logic around when to define QPDF_DLL et al more explicit * Add detailed comments
Diffstat (limited to 'libqpdf/CMakeLists.txt')
-rw-r--r--libqpdf/CMakeLists.txt6
1 files changed, 4 insertions, 2 deletions
diff --git a/libqpdf/CMakeLists.txt b/libqpdf/CMakeLists.txt
index be333b12..e2dffbd3 100644
--- a/libqpdf/CMakeLists.txt
+++ b/libqpdf/CMakeLists.txt
@@ -398,6 +398,9 @@ endif()
# use PIC for the object library so we don't have to compile twice.
set(OBJECT_LIB libqpdf_object)
add_library(${OBJECT_LIB} OBJECT ${libqpdf_SOURCES})
+if(OBJECT_LIB_IS_PIC)
+ target_compile_definitions(${OBJECT_LIB} PRIVATE libqpdf_EXPORTS)
+endif()
set_target_properties(${OBJECT_LIB} PROPERTIES
POSITION_INDEPENDENT_CODE ${OBJECT_LIB_IS_PIC})
target_include_directories(${OBJECT_LIB}
@@ -446,8 +449,6 @@ if(NOT WIN32)
endif()
if(BUILD_SHARED_LIBS)
- add_compile_definitions(DLL_EXPORT)
-
set(SHARED_LIB libqpdf)
if(OBJECT_LIB_IS_PIC)
add_library(${SHARED_LIB} SHARED $<TARGET_OBJECTS:libqpdf_object>)
@@ -485,6 +486,7 @@ if(BUILD_SHARED_LIBS)
SOVERSION ${qpdf_SOVERSION}
POSITION_INDEPENDENT_CODE ${BUILD_SHARED_LIBS})
+ target_compile_definitions(${SHARED_LIB} PRIVATE libqpdf_EXPORTS)
target_include_directories(${SHARED_LIB}
SYSTEM PRIVATE ${dep_include_directories})
target_include_directories(${SHARED_LIB}