Skip to content

Commit

Permalink
Refactors wxWidgets libs/includes/flags to facilitate easier linking.
Browse files Browse the repository at this point in the history
  • Loading branch information
dustinrb committed Aug 14, 2017
1 parent 4444554 commit ee5fe2b
Show file tree
Hide file tree
Showing 4 changed files with 126 additions and 31 deletions.
7 changes: 5 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,12 @@ message("Generating Files for ECCE ${ECCE_VERSION}")
# CMake Utilities
include(ExternalProject)

# set(wxWidgets_USE_UNICODE OFF)
set(CMAKE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX}/apps/wxpython ${CMAKE_PREFIX_PATH})
set(wxWidgets_USE_UNICODE OFF)
set(wxWidgets_CONFIG_OPTIONS --prefix=${CMAKE_INSTALL_PREFIX}/apps/wxpython)

# External Libraries
# find_package(wxWidgets COMPONENTS core base REQUIRED)
# find_package(wxWidgets REQUIRED)
find_package(GTK2 2.8 COMPONENTS gtk REQUIRED)
find_package(Freetype)
# find_package(Java REQUIRED)
Expand All @@ -21,6 +23,7 @@ find_package(Freetype)
# Initialize Third Party Packages
# include(${wxWidgets_USE_FILE})


# Set global variables
set(CMAKE_INC cmake)

Expand Down
18 changes: 11 additions & 7 deletions cmake/3rdparty.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# THIRD PARTY PACKAGES
set(THIRD_PARTY_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/apps/3rdparty)
set(THIRD_PARTY_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}) # TODO: Remove this line
# set(THIRD_PARTY_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}) # TODO: Remove this line

# add_custom_target(third_party)
# add_dependencies(third_party xerces wxpython httpd)
Expand All @@ -27,12 +27,14 @@ ExternalProject_Add(xerces
sh ${CMAKE_SOURCE_DIR}/cmake/build_xerces.sh ${XERCES_SRC} ${XERCES_ROOT} ${XERCES_INSTALL}
)
set(XERCES_INCLUDE ${XERCES_INSTALL}/include)
set(XERCES_LIB_DIR ${XERCES_INSTALL}/lib)
set(XERCES_LIBRARIES -lxerces-c -lxerces-depdom)

# wxPython
set(WXPYTHON_URL
http://cfhcable.dl.sourceforge.net/project/wxpython/wxPython/2.8.12.1/wxPython-src-2.8.12.1.tar.bz2)
set(WXPYTHON_DIR ${CMAKE_CURRENT_BINARY_DIR}/wxpython)
set(WXPYTHON_INSTALL ${CMAKE_INSTALL_PREFIX}/wxpython)
set(WXPYTHON_INSTALL ${THIRD_PARTY_INSTALL_DIR}/wxpython)
set(WXPYTHON_SRC ${WXPYTHON_DIR}/source)

ExternalProject_Add(wxpython
Expand All @@ -51,14 +53,16 @@ ExternalProject_Add(wxpython
make -C contrib/src/gizmos install &&
make -C contrib/src/stc install
)
set(WXPYTHON_FLAGS -I${WXPYTHON_INSTALL}/lib/wx/include/gtk2-ansi-release-2.8 -I${WXPYTHON_INSTALL}/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__)
set(WXPYTHON_INCLUDE ${WXPYTHON_INSTALL}/include/wx-2.8 ${WXPYTHON_INSTALL}/lib/wx/include/gtk2-ansi-release-2.8)
set(WXPYTHON_LIB ${WXPYTHON_INSTALL}/lib)
set(WX_INCLUDE ${WXPYTHON_INSTALL}/include/wx-2.8 ${WXPYTHON_INSTALL}/lib/wx/include/gtk2-ansi-release-2.8)
message(${WX_INCLUDE})
set(WX_LIB_DIR ${WXPYTHON_INSTALL}/lib)
set(WX_FLAGS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__ -pthread)
set(WX_LIBRARIES ewxaui -lwx_gtk2_adv-2.8 -lwx_gtk2_richtext-2.8 -lwx_gtk2_aui-2.8 -lwx_gtk2_xrc-2.8 -lwx_gtk2_qa-2.8 -lwx_gtk2_html-2.8 -lwx_gtk2_adv-2.8 -lwx_gtk2_core-2.8 -lwx_base_xml-2.8 -lwx_base_net-2.8 -lwx_base-2.8)

# HTTPD
set(HTTPD_URL http://apache.mirrors.pair.com//httpd/httpd-2.2.34.tar.gz)
set(HTTPD_DIR ${CMAKE_CURRENT_BINARY_DIR}/httpd)
set(HTTPD_INSTALL ${CMAKE_INSTALL_PREFIX}/httpd)
set(HTTPD_INSTALL ${THIRD_PARTY_INSTALL_DIR}/httpd)
set(HTTPD_SRC ${HTTPD_DIR}/source)

ExternalProject_Add(httpd
Expand All @@ -78,7 +82,7 @@ ExternalProject_Add(httpd
set(ACTIVEMQ_URL
https://github.com/FriendsofECCE/ECCE/raw/develop/build/3rdparty-dists/apache-activemq-5.1.0-bin.tar.bz2)
set(ACTIVEMQ_DIR ${CMAKE_CURRENT_BINARY_DIR}/activemq)
set(ACTIVEMQ_INSTALL ${CMAKE_INSTALL_PREFIX}/activemq)
set(ACTIVEMQ_INSTALL ${THIRD_PARTY_INSTALL_DIR}/activemq)
set(ACTIVEMQ_SRC ${ACTIVEMQ_DIR}/source)

ExternalProject_Add(activemq
Expand Down
90 changes: 90 additions & 0 deletions cmake/bin.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Let's build some executables
set(BIN_SRC_DIR ${CMAKE_SOURCE_DIR}/src/c/bin)
set(WX_LIBS -L/home/vagrant/install/wxpython/lib -pthread -L/usr/lib64 -lwx_gtk2_adv-2.8 -lwx_gtk2_richtext-2.8 -lwx_gtk2_aui-2.8 -lwx_gtk2_xrc-2.8 -lwx_gtk2_qa-2.8 -lwx_gtk2_html-2.8 -lwx_gtk2_adv-2.8 -lwx_gtk2_core-2.8 -lwx_base_xml-2.8 -lwx_base_net-2.8 -lwx_base-2.8)

# basistool
# set(basistool_SRC_DIR ${BIN_SRC_DIR}/basistool)
# file(GLOB basistool_SOURCE ${basistool_SRC_DIR}/*.C)
# add_executable(basistool ${basistool_SOURCE})
# target_include_directories(basistool PUBLIC ${WXPYTHON_INCLUDE})
# target_include_directories(basistool PRIVATE ${basistool_SRC_DIR})
# target_link_libraries(basistool
# ${wxWidgets_LIBRARIES}
# xerces
# ewxaui
# wxgui
# wxplotctrl
# wxthings
# edsiimpl
# dav
# cipc
# faces
# xml
# tdat
# util
# )

# builder
# calced
# davutils
# dirdyed

# ecmd
find_library(libutil NAMES util)
link_directories(${XERCES_LIB_DIR} /usr/lib64)
include_directories(${XERCES_INCLUDE})
add_executable(ecmd ${BIN_SRC_DIR}/ecmd/ecmd.C)
target_link_libraries(ecmd
${XERCES_LIBRARIES}
rcommand
expect
edsiimpl
dav
cipc
faces
xml
tdat
util
)

# gateway
# jobstore
# launcher
# machbrowser
# machregister
# mddynamics
# mdenergy
# mdoptimize
# mdprepare
# messagedialog
# metadyn
# organizer
# passdialog
# pertable
# polyrate
# solvate
# vizthumbnail

# basistool
# builder
# calced
# davutils
# dirdyed
# ecmd
# gateway
# jobstore
# launcher
# machbrowser
# machregister
# mddynamics
# mdenergy
# mdoptimize
# mdprepare
# messagedialog
# metadyn
# organizer
# passdialog
# pertable
# polyrate
# solvate
# vizthumbnail
42 changes: 20 additions & 22 deletions cmake/lib.cmake
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
# Building the C Library files for ECCE


set(LIB_SRC_DIR ${CMAKE_SOURCE_DIR}/src/c/lib)



#cipic
file(GLOB_RECURSE cipc_SOURCE ${LIB_SRC_DIR}/cipc/*.C)
add_library(cipc SHARED ${cipc_SOURCE})
Expand Down Expand Up @@ -34,16 +30,16 @@ add_dependencies(edsiimpl xerces)

# ewxaui
file(GLOB_RECURSE ewxaui_SOURCE ${LIB_SRC_DIR}/ewxaui/*.C)
set(ewxaui_INCLUDE ${LIB_SRC_DIR}/ewxaui/include)
add_library(ewxaui SHARED ${ewxaui_SOURCE})
target_include_directories(ewxaui PUBLIC ${WXPYTHON_INCLUDE} ${GTK2_INCLUDE_DIRS})
target_compile_options(ewxaui PUBLIC ${WXPYTHON_FLAGS})
# target_compile_options(ewxaui PUBLIC ${wxWidgets_CXX_FLAGS})
target_include_directories(ewxaui PUBLIC ${WX_INCLUDE} ${GTK2_INCLUDE_DIRS})
target_compile_options(ewxaui PUBLIC ${WX_FLAGS})
add_dependencies(ewxaui xerces wxpython)

#expect TODO: LOOK INTO THIS AND SEE IF THEY MAY BE A SHARED LIB
find_library(libutil NAMES util)
file(GLOB expect_SOURCE ${LIB_SRC_DIR}/expect/*.c)
add_library(expect STATIC ${expect_SOURCE})
target_link_libraries(expect ${libutil})

#faces
file(GLOB faces_SOURCE ${LIB_SRC_DIR}/faces/*.C)
Expand Down Expand Up @@ -82,9 +78,11 @@ if(NOT CMAKE_BUILD_TYPE MATCHES Debug)
endif(NOT CMAKE_BUILD_TYPE MATCHES Debug)

#rcommand

file(GLOB rcommand_SOURCE ${LIB_SRC_DIR}/rcommand/*.C)
add_library(rcommand SHARED ${rcommand_SOURCE})


#tdat
set(tdat_SRC_DIR ${LIB_SRC_DIR}/tdat)
file(GLOB tdat_SOURCE
Expand Down Expand Up @@ -130,42 +128,42 @@ file(GLOB wxgui_SOURCE
${wxgui_SRC_DIR}/wxtools/*.C
)
add_library(wxgui SHARED ${wxgui_SOURCE})
target_include_directories(wxgui PUBLIC ${XERCES_INCLUDE} ${WXPYTHON_INCLUDE})
target_compile_options(wxgui PUBLIC ${WXPYTHON_FLAGS})
target_include_directories(wxgui PUBLIC ${XERCES_INCLUDE} ${WX_INCLUDE})
target_compile_options(wxgui PUBLIC ${WX_FLAGS})
add_dependencies(wxgui xerces wxpython)

#wxguicomm
add_library(wxguicomm SHARED ${LIB_SRC_DIR}/wxguicomm/WxCalcImport.C)
target_include_directories(wxguicomm PUBLIC ${XERCES_INCLUDE} ${WXPYTHON_INCLUDE})
target_compile_options(wxguicomm PUBLIC ${WXPYTHON_FLAGS})
target_include_directories(wxguicomm PUBLIC ${XERCES_INCLUDE} ${WX_INCLUDE})
target_compile_options(wxguicomm PUBLIC ${WX_FLAGS})
add_dependencies(wxguicomm xerces wxpython)

#wxinv
file(GLOB_RECURSE wxinv_SOURCE ${LIB_SRC_DIR}/wxinv/*.C)
add_library(wxinv SHARED ${wxinv_SOURCE})
target_include_directories(wxinv PUBLIC ${WXPYTHON_INCLUDE})
target_compile_options(wxinv PUBLIC ${WXPYTHON_FLAGS})
target_include_directories(wxinv PUBLIC ${WX_INCLUDE})
target_compile_options(wxinv PUBLIC ${WX_FLAGS})
add_dependencies(wxinv wxpython)

#wxmdtools
file(GLOB_RECURSE wxmdtools_SOURCE ${LIB_SRC_DIR}/wxmdtools/*.C)
add_library(wxmdtools SHARED ${wxmdtools_SOURCE})
target_include_directories(wxmdtools PUBLIC ${XERCES_INCLUDE} ${WXPYTHON_INCLUDE})
target_compile_options(wxmdtools PUBLIC ${WXPYTHON_FLAGS})
target_include_directories(wxmdtools PUBLIC ${XERCES_INCLUDE} ${WX_INCLUDE})
target_compile_options(wxmdtools PUBLIC ${WX_FLAGS})
add_dependencies(wxmdtools xerces wxpython)

#wxplotctrl
file(GLOB_RECURSE wxplotctrl_SOURCE ${LIB_SRC_DIR}/wxplotctrl/*.C)
add_library(wxplotctrl SHARED ${wxplotctrl_SOURCE})
target_include_directories(wxplotctrl PUBLIC ${WXPYTHON_INCLUDE} ${GTK2_INCLUDE_DIRS})
target_compile_options(wxplotctrl PUBLIC ${WXPYTHON_FLAGS})
target_include_directories(wxplotctrl PUBLIC ${WX_INCLUDE})
target_compile_options(wxplotctrl PUBLIC ${WX_FLAGS})
add_dependencies(wxplotctrl wxpython)

#wxthings
file(GLOB_RECURSE wxthings_SOURCE ${LIB_SRC_DIR}/wxthings/*.C)
add_library(wxthings SHARED ${wxthings_SOURCE})
target_include_directories(wxthings PUBLIC ${WXPYTHON_INCLUDE})
target_compile_options(wxthings PUBLIC ${WXPYTHON_FLAGS})
target_include_directories(wxthings PUBLIC ${WX_INCLUDE})
target_compile_options(wxthings PUBLIC ${WX_FLAGS})
add_dependencies(wxthings wxpython)

#wxviz
Expand All @@ -175,8 +173,8 @@ file(GLOB wxviz_SOURCE
${wxviz_SRC_DIR}/viztools/*.C
)
add_library(wxviz SHARED ${wxviz_SOURCE})
target_include_directories(wxviz PUBLIC ${XERCES_INCLUDE} ${WXPYTHON_INCLUDE})
target_compile_options(wxviz PUBLIC ${WXPYTHON_FLAGS})
target_include_directories(wxviz PUBLIC ${XERCES_INCLUDE} ${WX_INCLUDE})
target_compile_options(wxviz PUBLIC ${WX_FLAGS})
add_dependencies(wxviz xerces wxpython)

#xml
Expand Down

0 comments on commit ee5fe2b

Please sign in to comment.