From 20622a78b0e2d0c627ba9eeb90faf5b51ee6a44a Mon Sep 17 00:00:00 2001 From: ilumsden Date: Tue, 12 Jul 2022 13:18:30 -0400 Subject: [PATCH 1/3] Creates a non-installed static library version of the parser to link with WeavePass --- src/c/parser/CMakeLists.txt | 8 ++++++++ src/c/weaver/weave/CMakeLists.txt | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/c/parser/CMakeLists.txt b/src/c/parser/CMakeLists.txt index e507506d..927a9231 100644 --- a/src/c/parser/CMakeLists.txt +++ b/src/c/parser/CMakeLists.txt @@ -28,12 +28,20 @@ set_source_files_properties(${perfflow_parser_sources} PROPERTIES COMPILE_FLAGS set_source_files_properties(${FLEX_lexer_OUTPUTS} PROPERTIES COMPILE_FLAGS "-Wno-deprecated-register") +add_library(perfflow_parser_static STATIC + ${perfflow_parser_sources} + ${BISON_parser_OUTPUTS} + ${FLEX_lexer_OUTPUTS} +) + add_library(perfflow_parser SHARED ${perfflow_parser_sources} ${BISON_parser_OUTPUTS} ${FLEX_lexer_OUTPUTS} ) +target_include_directories(perfflow_parser_static PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) + target_include_directories(perfflow_parser PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) install(TARGETS perfflow_parser diff --git a/src/c/weaver/weave/CMakeLists.txt b/src/c/weaver/weave/CMakeLists.txt index 74520d44..001941e4 100644 --- a/src/c/weaver/weave/CMakeLists.txt +++ b/src/c/weaver/weave/CMakeLists.txt @@ -13,7 +13,7 @@ set_target_properties(WeavePass PROPERTIES ) find_library(JANSSON_LIB jansson) -target_link_libraries(WeavePass perfflow_parser "${JANSSON_LIB}") +target_link_libraries(WeavePass perfflow_parser_static "${JANSSON_LIB}") install(TARGETS WeavePass EXPORT WeavePass From ac169ebbf3d491a9a0b9ef6ce17d513d1505d571 Mon Sep 17 00:00:00 2001 From: ilumsden Date: Tue, 12 Jul 2022 13:47:40 -0400 Subject: [PATCH 2/3] Tweaks .pc file and corresponding CMakeLists.txt to work with DYAD's approach for using PerfFlow --- src/c/config/CMakeLists.txt | 7 ++++--- src/c/config/perfflowaspect.pc.in | 13 +++++++------ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/c/config/CMakeLists.txt b/src/c/config/CMakeLists.txt index 65a3e061..7568e29f 100644 --- a/src/c/config/CMakeLists.txt +++ b/src/c/config/CMakeLists.txt @@ -46,12 +46,13 @@ install(FILES DESTINATION ${PERFFLOWASPECT_INSTALL_CMAKE_MODULE_DIR}) # Create pkg-config .pc file -set(PKG_CONFIG_LIBDIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) -set(PKG_CONFIG_LIBS "-L\${libdir} -lperfflow_runtime -L\${libdir} -lperfflow_parser -L\${libdir} -lWeavePass") +set(PKG_CONFIG_LIBDIR ${CMAKE_INSTALL_PREFIX}/lib) +set(PKG_CONFIG_LIBS "-L\${libdir} -lperfflow_runtime -L\${libdir} -lperfflow_parser -lssl -lcrypto") configure_file( perfflowaspect.pc.in -${CMAKE_CURRENT_BINARY_DIR}/perfflowaspect.pc) +${CMAKE_CURRENT_BINARY_DIR}/perfflowaspect.pc +@ONLY) install(FILES ${PROJECT_BINARY_DIR}/config/perfflowaspect.pc DESTINATION share) diff --git a/src/c/config/perfflowaspect.pc.in b/src/c/config/perfflowaspect.pc.in index 7fedbe22..ecf83f61 100644 --- a/src/c/config/perfflowaspect.pc.in +++ b/src/c/config/perfflowaspect.pc.in @@ -1,7 +1,8 @@ -Name: ${PROJECT_NAME} +Name: @PROJECT_NAME@ Description: Analyze cross-cutting performance concerns of composite scientific workflows -Version: ${PROJECT_VERSION} -prefix=${CMAKE_INSTALL_PREFIX} -libdir=${PKG_CONFIG_LIBDIR} -Libs: ${PKG_CONFIG_LIBS} -Cflags: -Wc,-Xclang,-load +Version: @PROJECT_VERSION@ +prefix=@CMAKE_INSTALL_PREFIX@ +libdir=@PKG_CONFIG_LIBDIR@ +weavepass=${libdir}/libWeavePass.so +Libs: @PKG_CONFIG_LIBS@ +Cflags: From a58f7d8d9fcc50a08fb81e74d9f7ea2056b6d885 Mon Sep 17 00:00:00 2001 From: ilumsden Date: Tue, 2 Aug 2022 11:11:51 -0400 Subject: [PATCH 3/3] Fixes the libdir for .pc configuration --- src/c/config/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/c/config/CMakeLists.txt b/src/c/config/CMakeLists.txt index 7568e29f..2b9f8f50 100644 --- a/src/c/config/CMakeLists.txt +++ b/src/c/config/CMakeLists.txt @@ -46,7 +46,7 @@ install(FILES DESTINATION ${PERFFLOWASPECT_INSTALL_CMAKE_MODULE_DIR}) # Create pkg-config .pc file -set(PKG_CONFIG_LIBDIR ${CMAKE_INSTALL_PREFIX}/lib) +set(PKG_CONFIG_LIBDIR ${CMAKE_INSTALL_PREFIX}/${PERFFLOWASPECT_INSTALL_LIB_DIR}) set(PKG_CONFIG_LIBS "-L\${libdir} -lperfflow_runtime -L\${libdir} -lperfflow_parser -lssl -lcrypto") configure_file(