diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3af619e0116abf98972d4c1c854180f0d084e0aa..17d0d7a3f57d51bf990fb5cca5284163593dd736 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -160,6 +160,7 @@ add_library(sfx_lib ${SOURCES_LIB})
 set_property(TARGET sfx PROPERTY LINKER_LANGUAGE Fortran)
 target_include_directories(sfx PUBLIC ${CMAKE_BINARY_DIR}/modules/)
 target_include_directories(sfx PUBLIC ${HEADERS_DIRS})
+target_include_directories(sfx_lib PUBLIC ${HEADERS_DIRS})
 
 if(USE_CONFIG_PARSER)
     target_link_libraries(sfx config_parser_F config_parser_CXX)
@@ -167,7 +168,13 @@ if(USE_CONFIG_PARSER)
 endif(USE_CONFIG_PARSER)
 
 set_property(TARGET sfx_lib PROPERTY LINKER_LANGUAGE Fortran)
-set(CMAKE_Fortran_ARCHIVE_FINISH  "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
+if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
+    SET(CMAKE_C_ARCHIVE_CREATE   "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
+    SET(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
+    SET(CMAKE_C_ARCHIVE_FINISH   "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
+    SET(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
+endif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
+# set(CMAKE_Fortran_ARCHIVE_FINISH  "$<CMAKE_RANLIB> -no_warning_for_no_symbols -c $<TARGET>")
 target_include_directories(sfx_lib PUBLIC ${CMAKE_BINARY_DIR}/modules/)
 
 if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")