This repository has been archived by the owner on Aug 30, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Bart Zaalberg
committed
Oct 6, 2017
1 parent
7347f6b
commit 2784233
Showing
41 changed files
with
3,018 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
|
||
build/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Bart Zaalberg <bartzaalberg@gmail.com> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# project name | ||
project (com.github.bartzaalberg.php-tester) | ||
|
||
# the oldest stable cmake version we support | ||
cmake_minimum_required (VERSION 2.6) | ||
|
||
# tell cmake where its modules can be found in our project directory | ||
list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) | ||
list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/src) | ||
|
||
# where we install data directory (if we have any) | ||
set (DATADIR "${CMAKE_INSTALL_PREFIX}/share") | ||
|
||
# what to call that directory where we install data too | ||
set (PKGDATADIR "${DATADIR}/com.github.bartzaalberg.php-tester") | ||
|
||
set (EXEC_NAME "com.github.bartzaalberg.php-tester") | ||
set (VERSION "0.1") | ||
set (VERSION_INFO "whats up world") | ||
|
||
set (DEPS_PACKAGES | ||
gtk+-3.0 | ||
granite | ||
) | ||
|
||
find_package (PkgConfig) | ||
pkg_check_modules (DEPS REQUIRED ${DEPS_PACKAGES}) | ||
|
||
add_definitions(${DEPS_CFLAGS}) | ||
link_libraries(${DEPS_LIBRARIES}) | ||
link_directories(${DEPS_LIBRARY_DIRS}) | ||
|
||
# make sure we have vala | ||
find_package(Vala REQUIRED) | ||
# make sure we use vala | ||
include(ValaVersion) | ||
# make sure it's the desired version of vala | ||
ensure_vala_version("0.16" MINIMUM) | ||
|
||
#------------------------------------------------------------------------------------------ | ||
|
||
# files we want to compile | ||
include(ValaPrecompile) | ||
vala_precompile(VALA_C ${EXEC_NAME} | ||
src/Application.vala | ||
src/MainWindow.vala | ||
src/Constants.vala | ||
src/ListManager.vala | ||
src/Dialogs/Alert.vala | ||
src/Components/HeaderBar.vala | ||
|
||
# tell what libraries to use when compiling | ||
PACKAGES | ||
gtk+-3.0 | ||
granite | ||
) | ||
|
||
# tell cmake what to call the executable we just made | ||
add_executable(${EXEC_NAME} ${VALA_C}) | ||
|
||
# install the binaries we just made | ||
install (TARGETS ${EXEC_NAME} RUNTIME DESTINATION bin) | ||
|
||
#add the data directory and activated the cmakelists in that folder | ||
add_subdirectory (data) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
## | ||
# Copyright 2009-2010 Jakob Westhoff. All rights reserved. | ||
# | ||
# Redistribution and use in source and binary forms, with or without | ||
# modification, are permitted provided that the following conditions are met: | ||
# | ||
# 1. Redistributions of source code must retain the above copyright notice, | ||
# this list of conditions and the following disclaimer. | ||
# | ||
# 2. Redistributions in binary form must reproduce the above copyright notice, | ||
# this list of conditions and the following disclaimer in the documentation | ||
# and/or other materials provided with the distribution. | ||
# | ||
# THIS SOFTWARE IS PROVIDED BY JAKOB WESTHOFF ``AS IS'' AND ANY EXPRESS OR | ||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO | ||
# EVENT SHALL JAKOB WESTHOFF OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | ||
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | ||
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF | ||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
# | ||
# The views and conclusions contained in the software and documentation are those | ||
# of the authors and should not be interpreted as representing official policies, | ||
# either expressed or implied, of Jakob Westhoff | ||
## | ||
|
||
## | ||
# Find module for the Gir compiler (g-ir-compiler) | ||
# | ||
# This module determines wheter a Gir compiler is installed on the current | ||
# system and where its executable is. | ||
# | ||
# Call the module using "find_package(GirCompiler) from within your CMakeLists.txt. | ||
# | ||
# The following variables will be set after an invocation: | ||
# | ||
# G_IR_COMPILER_FOUND Whether the g-ir-compiler compiler has been found or not | ||
# G_IR_COMPILER_EXECUTABLE Full path to the g-ir-compiler executable if it has been found | ||
## | ||
|
||
|
||
# Search for the g-ir-compiler executable in the usual system paths. | ||
find_program (G_IR_COMPILER_EXECUTABLE | ||
NAMES g-ir-compiler) | ||
|
||
# Handle the QUIETLY and REQUIRED arguments, which may be given to the find call. | ||
# Furthermore set G_IR_COMPILER_FOUND to TRUE if the g-ir-compiler has been found (aka. | ||
# G_IR_COMPILER_EXECUTABLE is set) | ||
|
||
include (FindPackageHandleStandardArgs) | ||
find_package_handle_standard_args (GirCompiler DEFAULT_MSG G_IR_COMPILER_EXECUTABLE) | ||
|
||
mark_as_advanced (G_IR_COMPILER_EXECUTABLE) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
## | ||
# Copyright 2009-2010 Jakob Westhoff. All rights reserved. | ||
# | ||
# Redistribution and use in source and binary forms, with or without | ||
# modification, are permitted provided that the following conditions are met: | ||
# | ||
# 1. Redistributions of source code must retain the above copyright notice, | ||
# this list of conditions and the following disclaimer. | ||
# | ||
# 2. Redistributions in binary form must reproduce the above copyright notice, | ||
# this list of conditions and the following disclaimer in the documentation | ||
# and/or other materials provided with the distribution. | ||
# | ||
# THIS SOFTWARE IS PROVIDED BY JAKOB WESTHOFF ``AS IS'' AND ANY EXPRESS OR | ||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO | ||
# EVENT SHALL JAKOB WESTHOFF OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | ||
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | ||
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF | ||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
# | ||
# The views and conclusions contained in the software and documentation are those | ||
# of the authors and should not be interpreted as representing official policies, | ||
# either expressed or implied, of Jakob Westhoff | ||
## | ||
|
||
## | ||
# Find module for the Vala compiler (valac) | ||
# | ||
# This module determines wheter a Vala compiler is installed on the current | ||
# system and where its executable is. | ||
# | ||
# Call the module using "find_package(Vala) from within your CMakeLists.txt. | ||
# | ||
# The following variables will be set after an invocation: | ||
# | ||
# VALA_FOUND Whether the vala compiler has been found or not | ||
# VALA_EXECUTABLE Full path to the valac executable if it has been found | ||
# VALA_VERSION Version number of the available valac | ||
## | ||
|
||
|
||
# Search for the valac executable in the usual system paths. | ||
find_program(VALA_EXECUTABLE | ||
NAMES valac) | ||
|
||
# Handle the QUIETLY and REQUIRED arguments, which may be given to the find call. | ||
# Furthermore set VALA_FOUND to TRUE if Vala has been found (aka. | ||
# VALA_EXECUTABLE is set) | ||
|
||
include(FindPackageHandleStandardArgs) | ||
find_package_handle_standard_args(Vala DEFAULT_MSG VALA_EXECUTABLE) | ||
|
||
mark_as_advanced(VALA_EXECUTABLE) | ||
|
||
# Determine the valac version | ||
if(VALA_FOUND) | ||
execute_process(COMMAND ${VALA_EXECUTABLE} "--version" | ||
OUTPUT_VARIABLE "VALA_VERSION") | ||
string(REPLACE "Vala" "" "VALA_VERSION" ${VALA_VERSION}) | ||
string(STRIP ${VALA_VERSION} "VALA_VERSION") | ||
endif(VALA_FOUND) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
macro(add_target_gir TARGET_NAME GIR_NAME HEADER CFLAGS GRANITE_VERSION) | ||
set(PACKAGES "") | ||
foreach(PKG ${ARGN}) | ||
set(PACKAGES ${PACKAGES} --include=${PKG}) | ||
endforeach() | ||
install(CODE "set(ENV{LD_LIBRARY_PATH} \"${CMAKE_CURRENT_BINARY_DIR}:\$ENV{LD_LIBRARY_PATH}\") | ||
execute_process(COMMAND g-ir-scanner ${CFLAGS} -n ${GIR_NAME} | ||
--quiet | ||
--library ${TARGET_NAME} ${PACKAGES} | ||
-o ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.gir | ||
-L${CMAKE_CURRENT_BINARY_DIR} | ||
--nsversion=${GRANITE_VERSION} ${HEADER})") | ||
install(CODE "execute_process(COMMAND g-ir-compiler ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.gir -o ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.typelib)") | ||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.gir DESTINATION share/gir-1.0/) | ||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.typelib DESTINATION lib/girepository-1.0/) | ||
endmacro() | ||
|
||
macro(add_target_gir_with_executable TARGET_NAME EXE_NAME GIR_NAME HEADER EXE_HEADER CFLAGS GRANITE_VERSION) | ||
set(PACKAGES "") | ||
foreach(PKG ${ARGN}) | ||
set(PACKAGES ${PACKAGES} --include=${PKG}) | ||
endforeach() | ||
install(CODE "set(ENV{LD_LIBRARY_PATH} \"${CMAKE_CURRENT_BINARY_DIR}:\$ENV{LD_LIBRARY_PATH}\") | ||
execute_process(COMMAND g-ir-scanner ${CFLAGS} -n ${GIR_NAME} | ||
--quiet | ||
--library ${TARGET_NAME} --program ${EXE_NAME} ${PACKAGES} | ||
-o ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.gir | ||
-L${CMAKE_CURRENT_BINARY_DIR} | ||
-I${CMAKE_CURRENT_BINARY_DIR} | ||
--nsversion=${GRANITE_VERSION} ${HEADER} ${EXE_HEADER})") | ||
install(CODE "execute_process(COMMAND g-ir-compiler ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.gir -o ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.typelib)") | ||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.gir DESTINATION share/gir-1.0/) | ||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${GIR_NAME}-${GRANITE_VERSION}.typelib DESTINATION lib/girepository-1.0/) | ||
endmacro() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
# GSettings.cmake, CMake macros written for Marlin, feel free to re-use them. | ||
|
||
option (GSETTINGS_LOCALINSTALL "Install GSettings Schemas locally instead of to the GLib prefix" ON) | ||
|
||
option (GSETTINGS_COMPILE "Compile GSettings Schemas after installation" ${GSETTINGS_LOCALINSTALL}) | ||
|
||
if(GSETTINGS_LOCALINSTALL) | ||
message(STATUS "GSettings schemas will be installed locally.") | ||
endif() | ||
|
||
if(GSETTINGS_COMPILE) | ||
message(STATUS "GSettings shemas will be compiled.") | ||
endif() | ||
|
||
macro(add_schema SCHEMA_NAME) | ||
|
||
set(PKG_CONFIG_EXECUTABLE pkg-config) | ||
# Have an option to not install the schema into where GLib is | ||
if (GSETTINGS_LOCALINSTALL) | ||
SET (GSETTINGS_DIR "${CMAKE_INSTALL_PREFIX}/share/glib-2.0/schemas/") | ||
else (GSETTINGS_LOCALINSTALL) | ||
execute_process (COMMAND ${PKG_CONFIG_EXECUTABLE} glib-2.0 --variable prefix OUTPUT_VARIABLE _glib_prefix OUTPUT_STRIP_TRAILING_WHITESPACE) | ||
SET (GSETTINGS_DIR "${_glib_prefix}/share/glib-2.0/schemas/") | ||
endif (GSETTINGS_LOCALINSTALL) | ||
|
||
# Run the validator and error if it fails | ||
execute_process (COMMAND ${PKG_CONFIG_EXECUTABLE} gio-2.0 --variable glib_compile_schemas OUTPUT_VARIABLE _glib_comple_schemas OUTPUT_STRIP_TRAILING_WHITESPACE) | ||
execute_process (COMMAND ${_glib_comple_schemas} --dry-run --schema-file=${CMAKE_CURRENT_SOURCE_DIR}/${SCHEMA_NAME} ERROR_VARIABLE _schemas_invalid OUTPUT_STRIP_TRAILING_WHITESPACE) | ||
|
||
if (_schemas_invalid) | ||
message (SEND_ERROR "Schema validation error: ${_schemas_invalid}") | ||
endif (_schemas_invalid) | ||
|
||
# Actually install and recomple schemas | ||
message (STATUS "GSettings schemas will be installed into ${GSETTINGS_DIR}") | ||
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/${SCHEMA_NAME} DESTINATION ${GSETTINGS_DIR} OPTIONAL) | ||
|
||
if (GSETTINGS_COMPILE) | ||
install (CODE "message (STATUS \"Compiling GSettings schemas\")") | ||
install (CODE "execute_process (COMMAND ${_glib_comple_schemas} ${GSETTINGS_DIR})") | ||
endif () | ||
endmacro() |
Oops, something went wrong.