@@ -30,6 +30,9 @@ include_guard(GLOBAL)
3030
3131option (GT_ENABLE_BINDINGS_GENERATION "If turned off, bindings will not be generated." ON )
3232
33+ # in some conditions the include guard above doesn't work
34+ if ( NOT TARGET cpp_bindgen_interface )
35+
3336# variables are unset after use for scoping, they need to be redefined in the macros
3437set (__CPP_BINDGEN_SOURCE_DIR @__CPP_BINDGEN_SOURCE_DIR@)
3538set (__CPP_BINDGEN_INCLUDE_DIR @__CPP_BINDGEN_INCLUDE_DIR@)
@@ -42,17 +45,19 @@ if(CPP_BINDGEN_GT_LEGACY)
4245 target_compile_definitions (cpp_bindgen_interface INTERFACE CPP_BINDGEN_GT_LEGACY)
4346endif ()
4447
45- add_library (cpp_bindgen_generator ${__CPP_BINDGEN_SOURCE_DIR} /cpp_bindgen/generator.cpp)
48+ add_library (cpp_bindgen_generator STATIC ${__CPP_BINDGEN_SOURCE_DIR} /cpp_bindgen/generator.cpp)
4649# PUBLIC to make export.hpp available in the sources passed to add_bindings_library()
4750target_link_libraries (cpp_bindgen_generator PUBLIC Boost::boost)
4851target_link_libraries (cpp_bindgen_generator PUBLIC cpp_bindgen_interface)
4952
50- add_library (cpp_bindgen_handle ${__CPP_BINDGEN_SOURCE_DIR} /cpp_bindgen/handle.cpp)
53+ add_library (cpp_bindgen_handle STATIC ${__CPP_BINDGEN_SOURCE_DIR} /cpp_bindgen/handle.cpp)
5154target_link_libraries (cpp_bindgen_handle PUBLIC cpp_bindgen_interface)
5255
5356unset (__CPP_BINDGEN_SOURCE_DIR)
5457unset (__CPP_BINDGEN_INCLUDE_DIR)
5558
59+ endif ()
60+
5661# bindgen_enable_fortran_library()
5762#
5863# Create a target to compile the generated Fortran module.
@@ -115,7 +120,7 @@ function(bindgen_add_library target_name)
115120 set (bindings_fortran_decl_filename ${CMAKE_CURRENT_LIST_DIR} /${target_name} .f90) # default value
116121 endif ()
117122
118- add_library (${target_name} ${ARG_SOURCES} )
123+ add_library (${target_name} STATIC ${ARG_SOURCES} )
119124 target_link_libraries (${target_name} PRIVATE cpp_bindgen_generator)
120125
121126 if (GT_ENABLE_BINDINGS_GENERATION)
0 commit comments