forked from commonmark/cmark
-
Notifications
You must be signed in to change notification settings - Fork 202
Open
Description
version 587a12b
It seems the addlibrary in project cmake file is missing the PUBLIC include part, causing target_link_libraries could not properly resolve the header files properly.
Example target_link_libraries (good practice of add any libraries):
target_link_libraries(
myapp PRIVATE
libcmark-gfm_static
libcmark-gfm-extensions_static
)Error triggered without patch:
fatal error: 'cmark-gfm.h' file not found
Fix:
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 84dd2a0..7a92938 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -120,6 +120,8 @@ endif()
if (CMARK_STATIC)
add_library(${STATICLIBRARY} STATIC ${LIBRARY_SOURCES})
+ target_include_directories(${STATICLIBRARY} PUBLIC ${CMAKE_CURRENT_LIST_DIR}) # for cmark-gfm.h file
+ target_include_directories(${STATICLIBRARY} PUBLIC ${CMAKE_CURRENT_BINARY_DIR}) # generate header file used by framework itself
set_target_properties(${STATICLIBRARY} PROPERTIES
COMPILE_FLAGS -DCMARK_GFM_STATIC_DEFINE
POSITION_INDEPENDENT_CODE ON)The patch fixes static linking issue, not sure if dynamic linkink(not used in my project) has same issue.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Type
Fields
Give feedbackNo fields configured for issues without a type.