Mercurial > pub > dyncall > dyncall
diff doc/README.CMake @ 0:3e629dc19168
initial from svn dyncall-1745
author | Daniel Adler |
---|---|
date | Thu, 19 Mar 2015 22:24:28 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/README.CMake Thu Mar 19 22:24:28 2015 +0100 @@ -0,0 +1,82 @@ +Notes on building DynCall with CMake +==================================== + + +Build with CMake (in-source) +---------------------------- + +cd <dyncall-source-dir> + +On Unix: + cmake . + make + +On Windows: + cmake . -G "NMake Makefiles" + nmake /f Makefile + + NOTE: Assembly Support is broken for Visual Studio Generators in CMake + So we support NMake for now only. + +Install in a specific location +------------------------------ +cmake -DCMAKE_INSTALL_PREFIX=<absolute-path> + + +Tested settings +--------------- +- CMake Unix Makefile generators on Mac OS X and Linux. + + +Using from other CMake-based projects +------------------------------------- +Under buildsys/cmake/Modules you find some Find*() scripts +which you might find useful. + + +Make Universal Binary +--------------------- +cmake -DCMAKE_OSX_ARCHITECTURES="i386;x86_64;ppc" + + +CMake Framework +--------------- +The project name is "DynCall". +Each library in the source tree represents a target (not a sub-project!). +Support scripts for 'find_package' are at buildsys/cmake/Modules. + +find_package( [DynLoad | DynCall | DynCallback] ) + +will set the variables: + + Dyn*_INCLUDE_DIRS + Dyn*_LIBRARIES + + +Using dyncall libraries in other CMake projects +----------------------------------------------- +find_package(DynLoad REQUIRED) +add_includes(${DynLoad_INCLUDE_DIRS}) +target_link_libraries( ... ${DynLoad_LIBRARIES}) + + +Use as sub-project within CMake top-level project +------------------------------------------------- + +add_subdirectory(path/to/dyncall/project/tree) +set(DynLoad_DIR ${DynCall_SOURCE_DIR}/dynload) +set(DynCall_DIR ${DynCall_SOURCE_DIR}/dyncall) +set(DynCallback_DIR ${DynCall_SOURCE_DIR}/dyncallback) + +has the effect, that the 'find_package' works from within the project source +tree. + + +Building for SPARC64 Architectures +---------------------------------- + +Supported Compilers: GCC, SunPro +Add -m64 to C, C++ and ASM flags, e.g. + +$ cmake -DCMAKE_C_FLAGS=-m64 -DCMAKE_ASM_FLAGS=-m64 -DCMAKE_ASM_CXX_FLAGS=-m64 +