netgen/cmake/external_projects/tcltk.cmake
Matthias Hochsteger 025f8750be GUI support from Python and some cleanup
Squashed commit of the following:

commit 5058ceb9351548937487aa94073e7f59236ae9fe
Merge: d37f0af 2da1465
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 19:33:55 2017 +0200

    Merge remote-tracking branch 'origin/master' into native_tcl_macos

commit d37f0afcc1389c0c3ec0899da9c1af158c926ca5
Author: Matthias <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 19:27:12 2017 +0200

    link gui to netgen, some fixes

commit 297141455cd4fab81709c13d6253ad8114beee4a
Author: Matthias <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 19:02:47 2017 +0200

    windows fixes

commit 9bf290a60835f29762b15ee3b722da132678f90c
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 18:59:53 2017 +0200

    More cleanup, proper code separation

     ... between netgen exectuable and gui library

commit f46d438d3c9dd32f9f94642b4ec00b85611ef1dd
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 14:03:53 2017 +0200

    fix typos

commit b3d301ff4e321189aef469bff77f7cffa7b69e98
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 13:32:57 2017 +0200

    also link tk to togl on windows...

commit c3519abee7b041e45c913a45999ed2d29d4ff325
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 13:30:16 2017 +0200

    link TCL to togl on windows

commit 80b607436b45f38f4bac2708a78ef03561ad44e5
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 13:26:45 2017 +0200

    linkt TCL only to netgen executable

commit 080139a431e949e14cb9f05194e19c5129aca3d3
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 13:20:36 2017 +0200

    fix dll ex/import

commit dd68efacb01fbbbe3f136168f12fed41fa3c3c8a
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 13:15:39 2017 +0200

    fix dll export

commit 9023b9ca49b4c2b99f228f64564990e2d0246b8c
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 12:06:14 2017 +0200

    use system tcl/tk on MacOS, but download tcl/tk for windows

commit 16eb4c1b01eb5229f93274791187b2c666bb8b8e
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 12:01:36 2017 +0200

    more cleanup

commit 6df5b82a7d9a1177a755446d563d6c4b98ff6329
Merge: af23786 2b0d3f0
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 11:45:42 2017 +0200

    Merge remote-tracking branch 'origin/master' into native_tcl_macos

commit af2378637a6513de3b50841ed6314cd7e12f7205
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Wed May 10 11:45:40 2017 +0200

    some cleanup

commit 81bbe117efe25df53c71f9ae603c50ee4557703a
Author: Joachim Schöberl <joachim.schoeberl@tuwien.ac.at>
Date:   Tue May 9 20:14:46 2017 +0200

    tk-gui

commit 387e6da678661dd3b9d75d696733f46fe43d789a
Merge: e658b5b e653d8e
Author: Joachim Schöberl <joachim.schoeberl@tuwien.ac.at>
Date:   Tue May 9 18:49:20 2017 +0200

    Merge remote-tracking branch 'origin/gui_from_python' into native_tcl_macos

commit e658b5b2c1ac3264f4165b5f6d2b821b3b1b0926
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Tue May 9 18:30:35 2017 +0200

    use native tcl on macos

commit e653d8e6789d20e24b16a68bf760415940e881f8
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 8 16:37:23 2017 +0200

    next fix

commit f663c80b00754d141a02fa6abde2077c841bbafb
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 8 16:23:21 2017 +0200

    Fix symbol export on windows

commit 70d99782423d33d3fa6f80e758a7377d0cb52840
Author: Matthias Hochsteger <matthias.hochsteger@tuwien.ac.at>
Date:   Mon May 8 15:14:56 2017 +0200

    GUI support from Python

    Enables experimental support for starting the Netgen GUI from Python
    directly.
    To use it, just import the gui module:
    > import netgen.gui
2017-05-10 19:34:42 +02:00

75 lines
3.2 KiB
CMake

if(APPLE)
# use system tcl/tk
find_package(TCL 8.5 REQUIRED)
# set(HOME $ENV{HOME})
# set(tcl_prefix ${CMAKE_INSTALL_PREFIX}/../../)
# ExternalProject_Add(project_tcl
# URL "http://sourceforge.net/projects/tcl/files/Tcl/8.6.4/tcl8.6.4-src.tar.gz"
# URL_MD5 d7cbb91f1ded1919370a30edd1534304
# DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external_dependencies
# UPDATE_COMMAND "" # Disable update
# CONFIGURE_COMMAND ../project_tcl/macosx/configure --enable-threads --enable-framework --prefix=${tcl_prefix} --libdir=${tcl_prefix}/Contents/Frameworks --bindir=${tcl_prefix}/Contents/Frameworks/Tcl.framework/bin
# BUILD_COMMAND make -j4 binaries libraries
# INSTALL_COMMAND make install-binaries install-headers install-libraries install-private-headers
# LOG_DOWNLOAD 1
# LOG_BUILD 1
# LOG_CONFIGURE 1
# LOG_INSTALL 1
# )
#
# ExternalProject_Add(project_tk
# DEPENDS project_tcl
# URL "http://sourceforge.net/projects/tcl/files/Tcl/8.6.4/tk8.6.4-src.tar.gz"
# URL_MD5 261754d7dc2a582f00e35547777e1fea
# DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external_dependencies
# UPDATE_COMMAND "" # Disable update
# CONFIGURE_COMMAND ../project_tk/macosx/configure --enable-aqua=yes --enable-threads --enable-framework --prefix=${tcl_prefix} --libdir=${tcl_prefix}/Contents/Frameworks --bindir=${tcl_prefix}/Contents/Frameworks/Tcl.framework/bin --with-tcl=${tcl_prefix}/Contents/Frameworks/Tcl.framework
# BUILD_COMMAND make -j4 binaries libraries
# INSTALL_COMMAND make install-binaries install-headers install-libraries install-private-headers
# LOG_DOWNLOAD 1
# LOG_BUILD 1
# LOG_CONFIGURE 1
# LOG_INSTALL 1
# )
#
# ExternalProject_Add(project_tkdnd
# URL "https://sourceforge.net/projects/tkdnd/files/OS%20X%20Binaries/TkDND%202.8/tkdnd2.8-OSX-MountainLion.tar.gz"
# URL_MD5 2dbb471b1d66c5f391f3c3c5b71548fb
# DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external_dependencies
# BUILD_IN_SOURCE 1
# CONFIGURE_COMMAND ""
# BUILD_COMMAND ""
# INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory . ${CMAKE_INSTALL_PREFIX}/../MacOS
# LOG_DOWNLOAD 1
# LOG_CONFIGURE 1
# LOG_BUILD 1
# LOG_INSTALL 1
# )
#
# list(APPEND NETGEN_DEPENDENCIES project_tcl project_tk project_tkdnd)
# list(APPEND CMAKE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX}../Frameworks)
# set(TCL_INCLUDE_PATH ${CMAKE_INSTALL_PREFIX}/../Frameworks/Tcl.framework/Headers)
# set(TCL_LIBRARY ${CMAKE_INSTALL_PREFIX}/../Frameworks/Tcl.framework)
# set(TK_LIBRARY ${CMAKE_INSTALL_PREFIX}/../Frameworks/Tk.framework)
# set(TK_INCLUDE_PATH ${CMAKE_INSTALL_PREFIX}/../Frameworks/Tk.framework/Headers)
#
elseif(WIN32)
ExternalProject_Add(project_win_extlibs
URL ${EXT_LIBS_DOWNLOAD_URL_WIN}
UPDATE_COMMAND "" # Disable update
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory . ${INSTALL_DIR}
LOG_DOWNLOAD 1
)
list(APPEND NETGEN_DEPENDENCIES project_win_extlibs)
else(WIN32)
find_package(TCL 8.5 REQUIRED)
endif(APPLE)
# Propagate settings to Netgen subproject
set_vars(NETGEN_CMAKE_ARGS TCL_INCLUDE_PATH TCL_LIBRARY TK_LIBRARY TK_INCLUDE_PATH TCL_TCLSH TK_WISH)