Skip to content
This repository was archived by the owner on Aug 28, 2024. It is now read-only.

Commit

Permalink
Made adjustments to CMake files to handle WIndows style paths better
Browse files Browse the repository at this point in the history
  • Loading branch information
daminton committed Aug 22, 2023
1 parent a94d856 commit f276bcd
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 15 deletions.
21 changes: 15 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ IF (NOT SKBUILD)
OUTPUT_VARIABLE SKBLD_DIR
OUTPUT_STRIP_TRAILING_WHITESPACE
)
FILE(TO_CMAKE_PATH ${SKBLD_DIR} SKBLD_DIR)
LIST(APPEND CMAKE_MODULE_PATH "${SKBLD_DIR}/resources/cmake")
MESSAGE(STATUS "Looking in ${SKBLD_DIR}/resources/cmake for CMake modules")
ENDIF()
Expand All @@ -52,14 +53,22 @@ ELSE()
ENDIF()

# Add our local modules to the module path
LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules/")
FILE(TO_CMAKE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules" LOCAL_MODULE_PATH)
LIST(APPEND CMAKE_MODULE_PATH ${LOCAL_MODULE_PATH})

# Define some directories that are important to the build
SET(SRC "${CMAKE_SOURCE_DIR}/src" CACHE FILEPATH "Location of source files")
SET(LIB "${CMAKE_SOURCE_DIR}/lib" CACHE FILEPATH "Library file location")
SET(BIN "${CMAKE_SOURCE_DIR}/bin" CACHE FILEPATH "Binary file location")
SET(MOD "${CMAKE_SOURCE_DIR}/include" CACHE FILEPATH "Include directory")
SET(PY "${CMAKE_SOURCE_DIR}/swiftest" CACHE FILEPATH "Python source directory")
SET(SRC "${CMAKE_SOURCE_DIR}/src")
SET(LIB "${CMAKE_SOURCE_DIR}/lib")
SET(BIN "${CMAKE_SOURCE_DIR}/bin")
SET(MOD "${CMAKE_SOURCE_DIR}/include")
SET(PY "${CMAKE_SOURCE_DIR}/swiftest")

# Make sure paths are correct for Unix or Windows style
FILE(TO_CMAKE_PATH ${SRC} SRC)
FILE(TO_CMAKE_PATH ${LIB} LIB)
FILE(TO_CMAKE_PATH ${BIN} BIN)
FILE(TO_CMAKE_PATH ${MOD} MOD)
FILE(TO_CMAKE_PATH ${PY} PY)

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIB})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LIB})
Expand Down
16 changes: 8 additions & 8 deletions cmake/Modules/FindNETCDF.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,17 @@ FIND_PATH(NETCDF_INCLUDE_DIR

MESSAGE(STATUS "NetCDF-Fortran include directory: ${NETCDF_INCLUDE_DIR}")

IF (BUILD_SHARED_LIBS OR CMAKE_SYSTEM_NAME STREQUAL "Windows")
IF (BUILD_SHARED_LIBS)
SET(NETCDFF "netcdff")
SET(NETCDF "netcdf")
ELSE ()
SET(NETCDFF "libnetcdff.a")
SET(NETCDF "libnetcdf.a")
IF (CMAKE_SYSTEM_NAME STREQUAL "Windows")
SET(NETCDFF "netcdff.lib")
SET(NETCDF "netcdf.lib")
ELSE ()
SET(NETCDFF "libnetcdff.a")
SET(NETCDF "libnetcdf.a")
ENDIF()
ENDIF()

FIND_LIBRARY(NETCDF_FORTRAN_LIBRARY
Expand Down Expand Up @@ -134,11 +139,6 @@ ELSE ()
ELSE ()
MESSAGE(FATAL_ERROR "Cannot find nc-config")
ENDIF ()
ELSE ()
FIND_PACKAGE(NETCDF CONFIG QUIET)
IF (NETCDF_FOUND)
set(NETCDF_LIBRARY "${netCDF_LIBRARIES}")
ENDIF()
ENDIF()

IF (DEFINED ENV{LIBS})
Expand Down
3 changes: 2 additions & 1 deletion src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ ENDIF(USE_COARRAY)

# Check to see if the compiler allows for local-spec in do concurrent statements. Set a preprocessor variable if it does
IF (USE_OPENMP)
SET(TESTFILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}")
SET(TESTFILE "${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}")
SET(TESTFILE "${TESTFILE}/CMakeTmp/testFortranDoConcurrentLoc.f90")
FILE(WRITE "${TESTFILE}"
"
Expand All @@ -198,6 +198,7 @@ ENDIF (USE_OPENMP)
#####################################
IF(WIN32)
SET(CMAKE_INSTALL_PREFIX "C:\\Program Files")
FILE(TO_CMAKE_PATH ${CMAKE_INSTALL_PREFIX} CMAKE_INSTALL_PREFIX)
ELSE()
SET(CMAKE_INSTALL_PREFIX /usr/local)
ENDIF(WIN32)
Expand Down

0 comments on commit f276bcd

Please sign in to comment.