From f741be54b2104b518a27ab1e0a2ce7bd9e1fc6c1 Mon Sep 17 00:00:00 2001 From: Artak Avetyan Date: Wed, 27 Dec 2023 16:37:58 +0100 Subject: [PATCH] Fixing builds. --- conf/cmake/common.cmake | 3 ++- conf/cmake/functions.cmake | 4 +--- framework/CMakeLists.txt | 9 ++++++++- framework/observer/lib/LogObserverSwitches.h | 5 +++-- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/conf/cmake/common.cmake b/conf/cmake/common.cmake index c8870958..70b1902e 100644 --- a/conf/cmake/common.cmake +++ b/conf/cmake/common.cmake @@ -220,7 +220,7 @@ set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_CLEAN_FILES ${AREG_OUTPUT_DIR} include_directories(BEFORE "${AREG_BASE} ${AREG_GENERATE_DIR}") # Adding library search paths -link_directories(BEFORE "${AREG_OUTPUT_BIN} ${AREG_OUTPUT_LIB}") +link_directories(BEFORE "${AREG_OUTPUT_BIN}" "${AREG_OUTPUT_LIB}") # Only for Linux if(UNIX AND NOT CYGWIN) @@ -240,4 +240,5 @@ message(STATUS ">>> Build for '${CMAKE_SYSTEM_NAME}' '${AREG_BITNESS}'-bit platf message(STATUS ">>> Binary output folder '${AREG_OUTPUT_BIN}', executable extensions '${CMAKE_EXECUTABLE_SUFFIX}'") message(STATUS ">>> Generated files are in '${AREG_GENERATE_DIR}', library output folder '${AREG_OUTPUT_LIB}'") message(STATUS ">>> Build examples is '${AREG_BUILD_EXAMPLES}', build tests is '${AREG_BUILD_TESTS}', AREG extended features are '${AREG_EXTENDED}', compile with logs '${AREG_LOGS}'") +message(STATUS ">>> CMAKE_CXX_COMPILER_ID = ${CMAKE_CXX_COMPILER_ID}") message(STATUS "-------------------- CMakeLists Status Report End ----------------------") diff --git a/conf/cmake/functions.cmake b/conf/cmake/functions.cmake index 156408e3..18ef832d 100644 --- a/conf/cmake/functions.cmake +++ b/conf/cmake/functions.cmake @@ -109,9 +109,7 @@ function(setSharedLibOptions item library_list) # Linking flags target_link_libraries(${item} areg-extend ${library_list} areg ${AREG_EXTENDED_LIBS} ${AREG_LDFLAGS}) - if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - target_compile_options(${item} PRIVATE -fPIC) - endif() + # target_compile_options(${item} PRIVATE -fPIC) if (NOT ${AREG_DEVELOP_ENV} MATCHES "Win32") target_compile_options(${item} PRIVATE "-Bdynamic") diff --git a/framework/CMakeLists.txt b/framework/CMakeLists.txt index f5e388f9..cf3e9e3d 100644 --- a/framework/CMakeLists.txt +++ b/framework/CMakeLists.txt @@ -30,7 +30,7 @@ else(AREG_BINARY MATCHES "shared") endif() -if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") +if (NOT ${AREG_DEVELOP_ENV} MATCHES "Win32") target_compile_options(areg PRIVATE -fPIC) endif() @@ -59,6 +59,10 @@ if (AREG_OBSERVER_LIB MATCHES "shared") # build observer API shared library addSharedLib(observerapi "${observer_lib_SRC}") + if (NOT ${AREG_DEVELOP_ENV} MATCHES "Win32") + target_compile_options(observerapi PRIVATE -fPIC) + endif() + # observer API shared library target_compile_definitions(observerapi PRIVATE EXP_OBSERVER_DLL) @@ -71,6 +75,9 @@ else(AREG_OBSERVER_LIB MATCHES "shared") # build observer API shared library addStaticLib(observerapi "${observer_lib_SRC}") + if (NOT ${AREG_DEVELOP_ENV} MATCHES "Win32") + target_compile_options(observerapi PRIVATE -fPIC) + endif() # observer API shared library target_compile_definitions(observerapi PRIVATE EXP_OBSERVER_LIB) diff --git a/framework/observer/lib/LogObserverSwitches.h b/framework/observer/lib/LogObserverSwitches.h index 7c1e678c..35e0e815 100644 --- a/framework/observer/lib/LogObserverSwitches.h +++ b/framework/observer/lib/LogObserverSwitches.h @@ -125,9 +125,10 @@ #define OBSERVER_API_IMPL #endif // WIN32 -#ifndef IMP_AREG_DLL +#if !defined(IMP_AREG_DLL) && !defined(IMP_AREG_LIB) + #pragma message ("WARNING: Neither IMP_AREG_DLL, nor IMP_AREG_LIB is defined. Make proper settings. By default setting IMP_AREG_DLL.") #define IMP_AREG_DLL -#endif // IMP_AREG_DLL +#endif // !defined(IMP_AREG_DLL) && !defined(IMP_AREG_LIB) #include "areg/base/GEGlobal.h"