diff --git a/CMakeLists.txt b/CMakeLists.txt index 36d3141..2def443 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -55,8 +55,8 @@ if(ICC_BUILD_SHARED) target_compile_definitions(${PROJECT_NAME} PUBLIC ICC_SHARED_LIBRARY) set(ICC_LIBRARY_NAME ${PROJECT_NAME}) else() - add_library(${PROJECT_NAME}_static STATIC ${ICC_SOURCE_FILES}) - set(ICC_LIBRARY_NAME ${PROJECT_NAME}_static) + add_library(${PROJECT_NAME} STATIC ${ICC_SOURCE_FILES}) + set(ICC_LIBRARY_NAME ${PROJECT_NAME}) endif() target_include_directories(${ICC_LIBRARY_NAME} PUBLIC ${ICC_INCLUDE_DIR} @@ -68,7 +68,8 @@ if (UNIX) install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/src/icc DESTINATION include FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp" - PATTERN "icc/os/platforms/windows/*" EXCLUDE) + PATTERN "icc/os/platforms/windows/*" EXCLUDE + PATTERN "icc/_private/*_lib" EXCLUDE) elseif(WIN32) target_link_libraries(${ICC_LIBRARY_NAME} ws2_32 wsock32) if(ICC_BUILD_SHARED) @@ -76,11 +77,17 @@ elseif(WIN32) install(TARGETS ${ICC_LIBRARY_NAME} LIBRARY DESTINATION lib) else() install(TARGETS ${ICC_LIBRARY_NAME} DESTINATION lib) - endif () + endif() install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/src/icc DESTINATION include FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp" - PATTERN "icc/os/platforms/posix/*" EXCLUDE) + PATTERN "icc/os/platforms/posix/*" EXCLUDE + PATTERN "icc/_private/*_lib" EXCLUDE) +endif() +if(ICC_BUILD_SHARED) + install(FILES ${CMAKE_CURRENT_LIST_DIR}/src/icc/_private/dynamic_lib/api_trigger.hpp DESTINATION include/icc/_private/) +else() + install(FILES ${CMAKE_CURRENT_LIST_DIR}/src/icc/_private/static_lib/api_trigger.hpp DESTINATION include/icc/_private/) endif() install(FILES LICENSE DESTINATION licenses) diff --git a/src/icc/_private/api.hpp b/src/icc/_private/api.hpp index ba21533..c82aedb 100644 --- a/src/icc/_private/api.hpp +++ b/src/icc/_private/api.hpp @@ -9,6 +9,10 @@ #ifndef ICC_PRIVATE_API_HPP #define ICC_PRIVATE_API_HPP +#if !defined(ICC_LIBRARY) + #include "api_trigger.hpp" +#endif + #if defined(_MSC_VER) // MSVC #define ICC_EXPORT __declspec(dllexport) diff --git a/src/icc/_private/dynamic_lib/api_trigger.hpp b/src/icc/_private/dynamic_lib/api_trigger.hpp new file mode 100644 index 0000000..317dd03 --- /dev/null +++ b/src/icc/_private/dynamic_lib/api_trigger.hpp @@ -0,0 +1,10 @@ +// +// Created by RedRa on 29.05.2021. +// + +#ifndef ICC_SRC_ICC__PRIVATE_DYNAMIC_LIB_API_TRIGGER_HPP_ +#define ICC_SRC_ICC__PRIVATE_DYNAMIC_LIB_API_TRIGGER_HPP_ + +#define ICC_SHARED_LIBRARY + +#endif //ICC_SRC_ICC__PRIVATE_DYNAMIC_LIB_API_TRIGGER_HPP_ diff --git a/src/icc/_private/static_lib/api_trigger.hpp b/src/icc/_private/static_lib/api_trigger.hpp new file mode 100644 index 0000000..afa4eb8 --- /dev/null +++ b/src/icc/_private/static_lib/api_trigger.hpp @@ -0,0 +1,10 @@ +// +// Created by RedRa on 29.05.2021. +// + +#ifndef ICC_SRC_ICC__PRIVATE_STATIC_LIB_API_TRIGGER_HPP_ +#define ICC_SRC_ICC__PRIVATE_STATIC_LIB_API_TRIGGER_HPP_ + +// Do nothing just a stub + +#endif //ICC_SRC_ICC__PRIVATE_STATIC_LIB_API_TRIGGER_HPP_ diff --git a/src/icc/os/timer/Timer.hpp b/src/icc/os/timer/Timer.hpp index 2611cfc..5f7e836 100644 --- a/src/icc/os/timer/Timer.hpp +++ b/src/icc/os/timer/Timer.hpp @@ -31,7 +31,7 @@ class ICC_PUBLIC Timer : public icc::ITimer { OneTime = 0, }; - static std::shared_ptr __cdecl createTimer(); + static std::shared_ptr createTimer(); ~Timer() = default; /**