mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
COMP: handle unset WM_OSTYPE for cmake targets (issue #909)
- regularise referencing of OpenFOAM env variables, sources etc.
This commit is contained in:
@ -5,24 +5,53 @@ cmake_minimum_required(VERSION 2.8)
|
||||
find_package(ParaView REQUIRED)
|
||||
include(${PARAVIEW_USE_FILE})
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Standard definitions when using OpenFOAM
|
||||
|
||||
if (NOT EXISTS "$ENV{WM_PROJECT_DIR}")
|
||||
message(FATAL_ERROR "WM_PROJECT_DIR not set - no OpenFOAM??")
|
||||
endif()
|
||||
|
||||
# WM_OSTYPE env variable is optional (only POSIX anyhow)
|
||||
if (EXISTS "$ENV{WM_OSTYPE}")
|
||||
set(WM_OSTYPE "$ENV{WM_OSTYPE}")
|
||||
else()
|
||||
set(WM_OSTYPE "POSIX")
|
||||
endif()
|
||||
|
||||
# Convenience name, as per wmake internals
|
||||
set(LIB_SRC "$ENV{WM_PROJECT_DIR}/src")
|
||||
|
||||
# Needed for internal label-size, scalar-size, templates
|
||||
add_definitions(
|
||||
-DWM_$ENV{WM_PRECISION_OPTION}
|
||||
-DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE}
|
||||
-DNoRepository
|
||||
|
||||
-std=c++11
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
link_directories(
|
||||
$ENV{FOAM_LIBBIN}
|
||||
)
|
||||
|
||||
include_directories(
|
||||
$ENV{WM_PROJECT_DIR}/src/OpenFOAM/lnInclude
|
||||
$ENV{WM_PROJECT_DIR}/src/OSspecific/$ENV{WM_OSTYPE}/lnInclude
|
||||
$ENV{WM_PROJECT_DIR}/src/conversion/lnInclude
|
||||
$ENV{WM_PROJECT_DIR}/src/finiteArea/lnInclude
|
||||
$ENV{WM_PROJECT_DIR}/src/finiteVolume/lnInclude
|
||||
${LIB_SRC}/OpenFOAM/lnInclude
|
||||
${LIB_SRC}/OSspecific/${WM_OSTYPE}/lnInclude
|
||||
${LIB_SRC}/conversion/lnInclude
|
||||
${LIB_SRC}/finiteArea/lnInclude
|
||||
${LIB_SRC}/finiteVolume/lnInclude
|
||||
${PROJECT_SOURCE_DIR}/../foamPv
|
||||
${PROJECT_SOURCE_DIR}/../vtkPVFoam
|
||||
)
|
||||
|
||||
add_definitions(
|
||||
-std=c++11
|
||||
-DWM_$ENV{WM_PRECISION_OPTION}
|
||||
-DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE}
|
||||
set(OPENFOAM_LIBRARIES
|
||||
OpenFOAM
|
||||
finiteVolume
|
||||
finiteArea
|
||||
conversion
|
||||
)
|
||||
|
||||
# Set output library destination to plugin directory
|
||||
@ -66,10 +95,7 @@ target_link_libraries(
|
||||
LINK_PUBLIC
|
||||
vtkPVFoam-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
|
||||
foamPv-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
|
||||
conversion
|
||||
finiteArea
|
||||
finiteVolume
|
||||
OpenFOAM
|
||||
${OPENFOAM_LIBRARIES}
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@ -9,18 +9,44 @@ link_directories(
|
||||
$ENV{FOAM_LIBBIN}
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Standard definitions when using OpenFOAM
|
||||
|
||||
if (NOT EXISTS "$ENV{WM_PROJECT_DIR}")
|
||||
message(FATAL_ERROR "WM_PROJECT_DIR not set - no OpenFOAM??")
|
||||
endif()
|
||||
|
||||
# WM_OSTYPE env variable is optional (only POSIX anyhow)
|
||||
if (EXISTS "$ENV{WM_OSTYPE}")
|
||||
set(WM_OSTYPE "$ENV{WM_OSTYPE}")
|
||||
else()
|
||||
set(WM_OSTYPE "POSIX")
|
||||
endif()
|
||||
|
||||
# Convenience name, as per wmake internals
|
||||
set(LIB_SRC "$ENV{WM_PROJECT_DIR}/src")
|
||||
|
||||
# Needed for internal label-size, scalar-size, templates
|
||||
add_definitions(
|
||||
-DWM_$ENV{WM_PRECISION_OPTION}
|
||||
-DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE}
|
||||
-DNoRepository
|
||||
|
||||
-std=c++11
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
include_directories(
|
||||
$ENV{WM_PROJECT_DIR}/src/OpenFOAM/lnInclude
|
||||
$ENV{WM_PROJECT_DIR}/src/OSspecific/$ENV{WM_OSTYPE}/lnInclude
|
||||
$ENV{WM_PROJECT_DIR}/src/meshing/blockMesh/lnInclude
|
||||
${LIB_SRC}/OpenFOAM/lnInclude
|
||||
${LIB_SRC}/OSspecific/${WM_OSTYPE}/lnInclude
|
||||
${LIB_SRC}/meshing/blockMesh/lnInclude
|
||||
${PROJECT_SOURCE_DIR}/../foamPv
|
||||
${PROJECT_SOURCE_DIR}/../vtkPVblockMesh
|
||||
)
|
||||
|
||||
add_definitions(
|
||||
-std=c++11
|
||||
-DWM_$ENV{WM_PRECISION_OPTION}
|
||||
-DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE}
|
||||
set(OPENFOAM_LIBRARIES
|
||||
OpenFOAM
|
||||
blockMesh
|
||||
)
|
||||
|
||||
# Set output library destination to plugin directory
|
||||
@ -64,8 +90,7 @@ target_link_libraries(
|
||||
LINK_PUBLIC
|
||||
vtkPVblockMesh-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
|
||||
foamPv-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
|
||||
blockMesh
|
||||
OpenFOAM
|
||||
${OPENFOAM_LIBRARIES}
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
include(${VTK_USE_FILE})
|
||||
|
||||
if(VTK_LIBRARIES)
|
||||
@ -7,15 +9,15 @@ endif()
|
||||
if(${VTK_VERSION} VERSION_GREATER "6")
|
||||
message("VTK version: " ${VTK_VERSION})
|
||||
else()
|
||||
message(FATAL_ERROR " VTK6 required")
|
||||
message(FATAL_ERROR " VTK version is too old - requires VTK6 or newer")
|
||||
endif()
|
||||
|
||||
include_directories(
|
||||
$ENV{WM_PROJECT_DIR}/src/OpenFOAM/lnInclude
|
||||
$ENV{WM_PROJECT_DIR}/src/OSspecific/$ENV{WM_OSTYPE}/lnInclude
|
||||
$ENV{WM_PROJECT_DIR}/src/surfMesh/lnInclude
|
||||
$ENV{WM_PROJECT_DIR}/src/finiteVolume/lnInclude
|
||||
$ENV{WM_PROJECT_DIR}/src/conversion/lnInclude
|
||||
${LIB_SRC}/OpenFOAM/lnInclude
|
||||
${LIB_SRC}/OSspecific/${WM_OSTYPE}/lnInclude
|
||||
${LIB_SRC}/finiteVolume/lnInclude
|
||||
${LIB_SRC}/surfMesh/lnInclude
|
||||
${LIB_SRC}/conversion/lnInclude
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
@ -24,22 +26,8 @@ link_directories(
|
||||
$ENV{FOAM_LIBBIN}
|
||||
)
|
||||
|
||||
add_definitions(
|
||||
-DWM_$ENV{WM_PRECISION_OPTION} -DNoRepository
|
||||
-DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE}
|
||||
)
|
||||
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
|
||||
set(CMAKE_CXX_FLAGS_DEBUG
|
||||
"-g -O0 -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -Wno-overloaded-virtual"
|
||||
)
|
||||
set(CMAKE_C_FLAGS_DEBUG "-g -O0 -std=c++11")
|
||||
|
||||
set(CMAKE_CXX_FLAGS_RELEASE
|
||||
"-O3 -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -Wno-overloaded-virtual")
|
||||
set(CMAKE_C_FLAGS_RELEASE "-O3 -std=c++11")
|
||||
|
||||
# Set output library destination to plugin directory
|
||||
set(LIBRARY_OUTPUT_PATH $ENV{FOAM_LIBBIN}
|
||||
CACHE INTERNAL
|
||||
@ -72,8 +60,8 @@ file(GLOB SOURCE_FILES
|
||||
|
||||
set(OPENFOAM_LIBRARIES
|
||||
OpenFOAM
|
||||
surfMesh
|
||||
finiteVolume
|
||||
surfMesh
|
||||
conversion
|
||||
)
|
||||
|
||||
@ -84,10 +72,10 @@ add_library(
|
||||
)
|
||||
|
||||
set_target_properties(
|
||||
runTimePostProcessing
|
||||
PROPERTIES
|
||||
VERSION ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}
|
||||
SOVERSION ${VTK_MAJOR_VERSION}
|
||||
runTimePostProcessing
|
||||
PROPERTIES
|
||||
VERSION ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}
|
||||
SOVERSION ${VTK_MAJOR_VERSION}
|
||||
)
|
||||
|
||||
target_link_libraries(
|
||||
|
||||
@ -0,0 +1,32 @@
|
||||
#-----------------------------------------------------------------------------
|
||||
# Standard definitions when using OpenFOAM
|
||||
|
||||
if (NOT EXISTS "$ENV{WM_PROJECT_DIR}")
|
||||
message(FATAL_ERROR "WM_PROJECT_DIR not set - no OpenFOAM??")
|
||||
endif()
|
||||
|
||||
# WM_OSTYPE env variable is optional (only POSIX anyhow)
|
||||
if (EXISTS "$ENV{WM_OSTYPE}")
|
||||
set(WM_OSTYPE "$ENV{WM_OSTYPE}")
|
||||
else()
|
||||
set(WM_OSTYPE "POSIX")
|
||||
endif()
|
||||
|
||||
# Convenience name, as per wmake internals
|
||||
set(LIB_SRC "$ENV{WM_PROJECT_DIR}/src")
|
||||
|
||||
# Needed for internal label-size, scalar-size, templates
|
||||
add_definitions(
|
||||
-DWM_$ENV{WM_PRECISION_OPTION}
|
||||
-DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE}
|
||||
-DNoRepository
|
||||
)
|
||||
|
||||
set(CMAKE_CXX_FLAGS_DEBUG
|
||||
"-g -O0 -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -Wno-overloaded-virtual"
|
||||
)
|
||||
set(CMAKE_CXX_FLAGS_RELEASE
|
||||
"-O3 -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -Wno-overloaded-virtual"
|
||||
)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
@ -17,11 +17,11 @@ elseif (EXISTS "$ENV{ParaView_DIR}")
|
||||
VTK_VERSION
|
||||
"${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}"
|
||||
)
|
||||
else ()
|
||||
else()
|
||||
message (FATAL_ERROR "VTK not found using VTK_DIR or ParaView_DIR")
|
||||
endif ()
|
||||
endif()
|
||||
|
||||
include(CMakeLists-OpenFOAM.txt)
|
||||
include(CMakeLists-Common.txt)
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user