[CMake] LIBRARY_OUTPUT_PATH - CMAKE_LIBRARY_OUTPUT_DIRECTORY
Michael Jackson
mike.jackson at bluequartz.net
Mon Nov 30 09:32:53 EST 2009
John,
I actually have this same problem with a ParaView plugin that I am
developing. I have the following in the plugin's CMakeLists.txt file
( where MXA_OUTPUT_DIRS_DEFINED _is_ defined in the before the
CMakeLists.txt is included via an 'add_subdirectory()' command from
the MXADataModelParaViewImport.cmake file.
#--------------------------------------------------------------
if ( NOT MXA_OUTPUT_DIRS_DEFINED )
# ---------- Setup output Directories -------------------------
SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY
${PROJECT_BINARY_DIR}/Bin
CACHE PATH
"Single Directory for all Libraries"
)
# --------- Setup the Executable output Directory -------------
SET (CMAKE_RUNTIME_OUTPUT_DIRECTORY
${PROJECT_BINARY_DIR}/Bin
CACHE PATH
"Single Directory for all Executables."
)
# --------- Setup the Executable output Directory -------------
SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY
${PROJECT_BINARY_DIR}/Bin
CACHE PATH
"Single Directory for all static libraries."
)
endif()
if (NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH})
endif()
if (NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY)
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
endif()
if (NOT DEFINED EXECUTABLE_OUTPUT_PATH)
set (EXECUTABLE_OUTPUT_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
endif()
if (NOT DEFINED LIBRARY_OUTPUT_PATH)
set (LIBRARY_OUTPUT_PATH ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
endif()
#--------------------------------------------------------------
Maybe this can be used in the
_________________________________________________________
Mike Jackson mike.jackson at bluequartz.net
BlueQuartz Software www.bluequartz.net
Principal Software Engineer Dayton, Ohio
On Nov 30, 2009, at 4:14 AM, Biddiscombe, John A. wrote:
> I am in the process of switching the hdf5 library used by paraview
> from the older 1.6.x to the newer 1.8.x and I encountered a problem
> caused by the fact that the new variable
> CMAKE_LIBRARY_OUTPUT_DIRECTORY
> is set by hdf1.8.x when included in the paraview main project - and
> it overrides the LIBRARY_OUTPUT_PATH set by paraview (also,
> executable/archive dirs etc), causing all the directories to be
> wrong in the main paraview build.
>
> A quick fix is to set CMAKE_LIBRARY_OUTPUT_DIRECTORY/etc in the
> paraview cmakelists, but my question is
>
> Is is safe for me to essentially do a search/replace on all
> LIBRARY_OUTPUT_PATH and replace with CMAKE_LIBRARY_OUTPUT_DIRECTORY
> in all cmakelists files in paraview (or any other project for
> example).
>
> By which I mean, is there any real functional difference, or is it
> just a name change?
>
> thanks
>
> JB
>
> --
> John Biddiscombe, email:biddisco @ cscs.ch
> http://www.cscs.ch/
> CSCS, Swiss National Supercomputing Centre | Tel: +41 (91) 610.82.07
> Via Cantonale, 6928 Manno, Switzerland | Fax: +41 (91) 610.82.82
>
More information about the CMake
mailing list