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)
|
find_package(ParaView REQUIRED)
|
||||||
include(${PARAVIEW_USE_FILE})
|
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(
|
link_directories(
|
||||||
$ENV{FOAM_LIBBIN}
|
$ENV{FOAM_LIBBIN}
|
||||||
)
|
)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
$ENV{WM_PROJECT_DIR}/src/OpenFOAM/lnInclude
|
${LIB_SRC}/OpenFOAM/lnInclude
|
||||||
$ENV{WM_PROJECT_DIR}/src/OSspecific/$ENV{WM_OSTYPE}/lnInclude
|
${LIB_SRC}/OSspecific/${WM_OSTYPE}/lnInclude
|
||||||
$ENV{WM_PROJECT_DIR}/src/conversion/lnInclude
|
${LIB_SRC}/conversion/lnInclude
|
||||||
$ENV{WM_PROJECT_DIR}/src/finiteArea/lnInclude
|
${LIB_SRC}/finiteArea/lnInclude
|
||||||
$ENV{WM_PROJECT_DIR}/src/finiteVolume/lnInclude
|
${LIB_SRC}/finiteVolume/lnInclude
|
||||||
${PROJECT_SOURCE_DIR}/../foamPv
|
${PROJECT_SOURCE_DIR}/../foamPv
|
||||||
${PROJECT_SOURCE_DIR}/../vtkPVFoam
|
${PROJECT_SOURCE_DIR}/../vtkPVFoam
|
||||||
)
|
)
|
||||||
|
|
||||||
add_definitions(
|
set(OPENFOAM_LIBRARIES
|
||||||
-std=c++11
|
OpenFOAM
|
||||||
-DWM_$ENV{WM_PRECISION_OPTION}
|
finiteVolume
|
||||||
-DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE}
|
finiteArea
|
||||||
|
conversion
|
||||||
)
|
)
|
||||||
|
|
||||||
# Set output library destination to plugin directory
|
# Set output library destination to plugin directory
|
||||||
@ -66,10 +95,7 @@ target_link_libraries(
|
|||||||
LINK_PUBLIC
|
LINK_PUBLIC
|
||||||
vtkPVFoam-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
|
vtkPVFoam-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
|
||||||
foamPv-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
|
foamPv-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
|
||||||
conversion
|
${OPENFOAM_LIBRARIES}
|
||||||
finiteArea
|
|
||||||
finiteVolume
|
|
||||||
OpenFOAM
|
|
||||||
)
|
)
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
|
|||||||
@ -9,18 +9,44 @@ link_directories(
|
|||||||
$ENV{FOAM_LIBBIN}
|
$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(
|
include_directories(
|
||||||
$ENV{WM_PROJECT_DIR}/src/OpenFOAM/lnInclude
|
${LIB_SRC}/OpenFOAM/lnInclude
|
||||||
$ENV{WM_PROJECT_DIR}/src/OSspecific/$ENV{WM_OSTYPE}/lnInclude
|
${LIB_SRC}/OSspecific/${WM_OSTYPE}/lnInclude
|
||||||
$ENV{WM_PROJECT_DIR}/src/meshing/blockMesh/lnInclude
|
${LIB_SRC}/meshing/blockMesh/lnInclude
|
||||||
${PROJECT_SOURCE_DIR}/../foamPv
|
${PROJECT_SOURCE_DIR}/../foamPv
|
||||||
${PROJECT_SOURCE_DIR}/../vtkPVblockMesh
|
${PROJECT_SOURCE_DIR}/../vtkPVblockMesh
|
||||||
)
|
)
|
||||||
|
|
||||||
add_definitions(
|
set(OPENFOAM_LIBRARIES
|
||||||
-std=c++11
|
OpenFOAM
|
||||||
-DWM_$ENV{WM_PRECISION_OPTION}
|
blockMesh
|
||||||
-DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Set output library destination to plugin directory
|
# Set output library destination to plugin directory
|
||||||
@ -64,8 +90,7 @@ target_link_libraries(
|
|||||||
LINK_PUBLIC
|
LINK_PUBLIC
|
||||||
vtkPVblockMesh-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
|
vtkPVblockMesh-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
|
||||||
foamPv-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
|
foamPv-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
|
||||||
blockMesh
|
${OPENFOAM_LIBRARIES}
|
||||||
OpenFOAM
|
|
||||||
)
|
)
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
#-----------------------------------------------------------------------------
|
||||||
|
|
||||||
include(${VTK_USE_FILE})
|
include(${VTK_USE_FILE})
|
||||||
|
|
||||||
if(VTK_LIBRARIES)
|
if(VTK_LIBRARIES)
|
||||||
@ -7,15 +9,15 @@ endif()
|
|||||||
if(${VTK_VERSION} VERSION_GREATER "6")
|
if(${VTK_VERSION} VERSION_GREATER "6")
|
||||||
message("VTK version: " ${VTK_VERSION})
|
message("VTK version: " ${VTK_VERSION})
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR " VTK6 required")
|
message(FATAL_ERROR " VTK version is too old - requires VTK6 or newer")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
$ENV{WM_PROJECT_DIR}/src/OpenFOAM/lnInclude
|
${LIB_SRC}/OpenFOAM/lnInclude
|
||||||
$ENV{WM_PROJECT_DIR}/src/OSspecific/$ENV{WM_OSTYPE}/lnInclude
|
${LIB_SRC}/OSspecific/${WM_OSTYPE}/lnInclude
|
||||||
$ENV{WM_PROJECT_DIR}/src/surfMesh/lnInclude
|
${LIB_SRC}/finiteVolume/lnInclude
|
||||||
$ENV{WM_PROJECT_DIR}/src/finiteVolume/lnInclude
|
${LIB_SRC}/surfMesh/lnInclude
|
||||||
$ENV{WM_PROJECT_DIR}/src/conversion/lnInclude
|
${LIB_SRC}/conversion/lnInclude
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
${CMAKE_CURRENT_BINARY_DIR}
|
${CMAKE_CURRENT_BINARY_DIR}
|
||||||
)
|
)
|
||||||
@ -24,22 +26,8 @@ link_directories(
|
|||||||
$ENV{FOAM_LIBBIN}
|
$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_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 output library destination to plugin directory
|
||||||
set(LIBRARY_OUTPUT_PATH $ENV{FOAM_LIBBIN}
|
set(LIBRARY_OUTPUT_PATH $ENV{FOAM_LIBBIN}
|
||||||
CACHE INTERNAL
|
CACHE INTERNAL
|
||||||
@ -72,8 +60,8 @@ file(GLOB SOURCE_FILES
|
|||||||
|
|
||||||
set(OPENFOAM_LIBRARIES
|
set(OPENFOAM_LIBRARIES
|
||||||
OpenFOAM
|
OpenFOAM
|
||||||
surfMesh
|
|
||||||
finiteVolume
|
finiteVolume
|
||||||
|
surfMesh
|
||||||
conversion
|
conversion
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -84,10 +72,10 @@ add_library(
|
|||||||
)
|
)
|
||||||
|
|
||||||
set_target_properties(
|
set_target_properties(
|
||||||
runTimePostProcessing
|
runTimePostProcessing
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
VERSION ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}
|
VERSION ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}
|
||||||
SOVERSION ${VTK_MAJOR_VERSION}
|
SOVERSION ${VTK_MAJOR_VERSION}
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(
|
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_VERSION
|
||||||
"${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}"
|
"${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}"
|
||||||
)
|
)
|
||||||
else ()
|
else()
|
||||||
message (FATAL_ERROR "VTK not found using VTK_DIR or ParaView_DIR")
|
message (FATAL_ERROR "VTK not found using VTK_DIR or ParaView_DIR")
|
||||||
endif ()
|
endif()
|
||||||
|
|
||||||
|
include(CMakeLists-OpenFOAM.txt)
|
||||||
include(CMakeLists-Common.txt)
|
include(CMakeLists-Common.txt)
|
||||||
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user