idk what I'm doing pls help

This commit is contained in:
Christoph J. Scherr 2023-10-12 22:36:55 +02:00
commit 1933a27006
28 changed files with 5276 additions and 0 deletions

37
CMakePresets.json Normal file
View file

@ -0,0 +1,37 @@
{
"version": 3,
"vendor": {
"conan": {}
},
"cmakeMinimumRequired": {
"major": 3,
"minor": 15,
"patch": 0
},
"configurePresets": [
{
"name": "conan-release",
"displayName": "'conan-release' config",
"description": "'conan-release' configure using 'Unix Makefiles' generator",
"generator": "Unix Makefiles",
"cacheVariables": {
"CMAKE_POLICY_DEFAULT_CMP0091": "NEW",
"CMAKE_BUILD_TYPE": "Release"
},
"toolchainFile": "/home/plex/Documents/code/cpp/glsl-basic/conan_toolchain.cmake",
"binaryDir": "/home/plex/Documents/code/cpp/glsl-basic"
}
],
"buildPresets": [
{
"name": "conan-release",
"configurePreset": "conan-release"
}
],
"testPresets": [
{
"name": "conan-release",
"configurePreset": "conan-release"
}
]
}

2
build.sh Normal file
View file

@ -0,0 +1,2 @@
#!/bin/bash
conan install . --build missing

87
cmakedeps_macros.cmake Normal file
View file

@ -0,0 +1,87 @@
macro(conan_find_apple_frameworks FRAMEWORKS_FOUND FRAMEWORKS FRAMEWORKS_DIRS)
if(APPLE)
foreach(_FRAMEWORK ${FRAMEWORKS})
# https://cmake.org/pipermail/cmake-developers/2017-August/030199.html
find_library(CONAN_FRAMEWORK_${_FRAMEWORK}_FOUND NAMES ${_FRAMEWORK} PATHS ${FRAMEWORKS_DIRS} CMAKE_FIND_ROOT_PATH_BOTH)
if(CONAN_FRAMEWORK_${_FRAMEWORK}_FOUND)
list(APPEND ${FRAMEWORKS_FOUND} ${CONAN_FRAMEWORK_${_FRAMEWORK}_FOUND})
message(VERBOSE "Framework found! ${FRAMEWORKS_FOUND}")
else()
message(FATAL_ERROR "Framework library ${_FRAMEWORK} not found in paths: ${FRAMEWORKS_DIRS}")
endif()
endforeach()
endif()
endmacro()
function(conan_package_library_targets libraries package_libdir package_bindir library_type
is_host_windows deps_target out_libraries_target config_suffix package_name no_soname_mode)
set(_out_libraries_target "")
foreach(_LIBRARY_NAME ${libraries})
find_library(CONAN_FOUND_LIBRARY NAMES ${_LIBRARY_NAME} PATHS ${package_libdir}
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
if(CONAN_FOUND_LIBRARY)
message(VERBOSE "Conan: Library ${_LIBRARY_NAME} found ${CONAN_FOUND_LIBRARY}")
# Create a micro-target for each lib/a found
# Allow only some characters for the target name
string(REGEX REPLACE "[^A-Za-z0-9.+_-]" "_" _LIBRARY_NAME ${_LIBRARY_NAME})
set(_LIB_NAME CONAN_LIB::${package_name}_${_LIBRARY_NAME}${config_suffix})
if(is_host_windows AND library_type STREQUAL "SHARED")
# Store and reset the variable, so it doesn't leak
set(_OLD_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
set(CMAKE_FIND_LIBRARY_SUFFIXES .dll ${CMAKE_FIND_LIBRARY_SUFFIXES})
find_library(CONAN_SHARED_FOUND_LIBRARY NAMES ${_LIBRARY_NAME} PATHS ${package_bindir}
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
set(CMAKE_FIND_LIBRARY_SUFFIXES ${_OLD_CMAKE_FIND_LIBRARY_SUFFIXES})
if(NOT CONAN_SHARED_FOUND_LIBRARY)
message(STATUS "Cannot locate shared library: ${_LIBRARY_NAME}")
message(DEBUG "DLL library not found, creating UNKNOWN IMPORTED target")
if(NOT TARGET ${_LIB_NAME})
add_library(${_LIB_NAME} UNKNOWN IMPORTED)
endif()
set_target_properties(${_LIB_NAME} PROPERTIES IMPORTED_LOCATION${config_suffix} ${CONAN_FOUND_LIBRARY})
else()
if(NOT TARGET ${_LIB_NAME})
add_library(${_LIB_NAME} SHARED IMPORTED)
endif()
set_target_properties(${_LIB_NAME} PROPERTIES IMPORTED_LOCATION${config_suffix} ${CONAN_SHARED_FOUND_LIBRARY})
set_target_properties(${_LIB_NAME} PROPERTIES IMPORTED_IMPLIB${config_suffix} ${CONAN_FOUND_LIBRARY})
message(DEBUG "Found DLL and STATIC at ${CONAN_SHARED_FOUND_LIBRARY}, ${CONAN_FOUND_LIBRARY}")
endif()
unset(CONAN_SHARED_FOUND_LIBRARY CACHE)
else()
if(NOT TARGET ${_LIB_NAME})
# library_type can be STATIC, still UNKNOWN (if no package type available in the recipe) or SHARED (but no windows)
add_library(${_LIB_NAME} ${library_type} IMPORTED)
endif()
message(DEBUG "Created target ${_LIB_NAME} ${library_type} IMPORTED")
set_target_properties(${_LIB_NAME} PROPERTIES IMPORTED_LOCATION${config_suffix} ${CONAN_FOUND_LIBRARY} IMPORTED_NO_SONAME ${no_soname_mode})
endif()
list(APPEND _out_libraries_target ${_LIB_NAME})
message(VERBOSE "Conan: Found: ${CONAN_FOUND_LIBRARY}")
else()
message(FATAL_ERROR "Library '${_LIBRARY_NAME}' not found in package. If '${_LIBRARY_NAME}' is a system library, declare it with 'cpp_info.system_libs' property")
endif()
unset(CONAN_FOUND_LIBRARY CACHE)
endforeach()
# Add the dependencies target for all the imported libraries
foreach(_T ${_out_libraries_target})
set_property(TARGET ${_T} PROPERTY INTERFACE_LINK_LIBRARIES ${deps_target} APPEND)
endforeach()
set(${out_libraries_target} ${_out_libraries_target} PARENT_SCOPE)
endfunction()
macro(check_build_type_defined)
# Check that the -DCMAKE_BUILD_TYPE argument is always present
get_property(isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
if(NOT isMultiConfig AND NOT CMAKE_BUILD_TYPE)
message(FATAL_ERROR "Please, set the CMAKE_BUILD_TYPE variable when calling to CMake "
"adding the '-DCMAKE_BUILD_TYPE=<build_type>' argument.")
endif()
endmacro()

88
conan_toolchain.cmake Normal file
View file

@ -0,0 +1,88 @@
# Conan automatically generated toolchain file
# DO NOT EDIT MANUALLY, it will be overwritten
# Avoid including toolchain file several times (bad if appending to variables like
# CMAKE_CXX_FLAGS. See https://github.com/android/ndk/issues/323
include_guard()
message(STATUS "Using Conan toolchain: ${CMAKE_CURRENT_LIST_FILE}")
if(${CMAKE_VERSION} VERSION_LESS "3.15")
message(FATAL_ERROR "The 'CMakeToolchain' generator only works with CMake >= 3.15")
endif()
string(APPEND CONAN_CXX_FLAGS " -m64")
string(APPEND CONAN_C_FLAGS " -m64")
string(APPEND CONAN_SHARED_LINKER_FLAGS " -m64")
string(APPEND CONAN_EXE_LINKER_FLAGS " -m64")
message(STATUS "Conan toolchain: C++ Standard 17 with extensions ON")
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_EXTENSIONS ON)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Extra c, cxx, linkflags and defines
if(DEFINED CONAN_CXX_FLAGS)
string(APPEND CMAKE_CXX_FLAGS_INIT " ${CONAN_CXX_FLAGS}")
endif()
if(DEFINED CONAN_C_FLAGS)
string(APPEND CMAKE_C_FLAGS_INIT " ${CONAN_C_FLAGS}")
endif()
if(DEFINED CONAN_SHARED_LINKER_FLAGS)
string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " ${CONAN_SHARED_LINKER_FLAGS}")
endif()
if(DEFINED CONAN_EXE_LINKER_FLAGS)
string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ${CONAN_EXE_LINKER_FLAGS}")
endif()
get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE )
if(_CMAKE_IN_TRY_COMPILE)
message(STATUS "Running toolchain IN_TRY_COMPILE")
return()
endif()
set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON)
# Definition of CMAKE_MODULE_PATH
# the generators folder (where conan generates files, like this toolchain)
list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
# Definition of CMAKE_PREFIX_PATH, CMAKE_XXXXX_PATH
# The Conan local "generators" folder, where this toolchain is saved.
list(PREPEND CMAKE_PREFIX_PATH ${CMAKE_CURRENT_LIST_DIR} )
list(PREPEND CMAKE_PROGRAM_PATH "/home/plex/.conan2/p/cmake5a09891eb5f57/p/bin")
list(PREPEND CMAKE_LIBRARY_PATH "/home/plex/.conan2/p/b/glfwdefb5f57f4bbb/p/lib")
list(PREPEND CMAKE_INCLUDE_PATH "/home/plex/.conan2/p/b/glfwdefb5f57f4bbb/p/include" "/usr/include/uuid")
if (DEFINED ENV{PKG_CONFIG_PATH})
set(ENV{PKG_CONFIG_PATH} "${CMAKE_CURRENT_LIST_DIR}:$ENV{PKG_CONFIG_PATH}")
else()
set(ENV{PKG_CONFIG_PATH} "${CMAKE_CURRENT_LIST_DIR}:")
endif()
# Variables
# Variables per configuration
# Preprocessor definitions
# Preprocessor definitions per configuration

1
conanbuild.sh Normal file
View file

@ -0,0 +1 @@
. "/home/plex/Documents/code/cpp/glsl-basic/conanbuildenv-release-x86_64.sh"

View file

@ -0,0 +1,16 @@
script_folder="/home/plex/Documents/code/cpp/glsl-basic"
echo "echo Restoring environment" > "$script_folder/deactivate_conanbuildenv-release-x86_64.sh"
for v in PATH
do
is_defined="true"
value=$(printenv $v) || is_defined="" || true
if [ -n "$value" ] || [ -n "$is_defined" ]
then
echo export "$v='$value'" >> "$script_folder/deactivate_conanbuildenv-release-x86_64.sh"
else
echo unset $v >> "$script_folder/deactivate_conanbuildenv-release-x86_64.sh"
fi
done
export PATH="/home/plex/.conan2/p/cmake5a09891eb5f57/p/bin:$PATH"

9
conanfile.txt Normal file
View file

@ -0,0 +1,9 @@
[requires]
glfw/3.3.8
[tool_requires]
cmake/3.22.6
[generators]
CMakeDeps
CMakeToolchain

1
conanrun.sh Normal file
View file

@ -0,0 +1 @@
. "/home/plex/Documents/code/cpp/glsl-basic/conanrunenv-release-x86_64.sh"

View file

@ -0,0 +1,14 @@
script_folder="/home/plex/Documents/code/cpp/glsl-basic"
echo "echo Restoring environment" > "$script_folder/deactivate_conanrunenv-release-x86_64.sh"
for v in
do
is_defined="true"
value=$(printenv $v) || is_defined="" || true
if [ -n "$value" ] || [ -n "$is_defined" ]
then
echo export "$v='$value'" >> "$script_folder/deactivate_conanrunenv-release-x86_64.sh"
else
echo unset $v >> "$script_folder/deactivate_conanrunenv-release-x86_64.sh"
fi
done

1
deactivate_conanbuild.sh Normal file
View file

@ -0,0 +1 @@
. "/home/plex/Documents/code/cpp/glsl-basic/deactivate_conanbuildenv-release-x86_64.sh"

View file

@ -0,0 +1,2 @@
echo Restoring environment
export PATH='/usr/bin:/usr/sbin:/home/plex/.local/bin:/home/plex/.cargo/bin:/usr/local/bin'

1
deactivate_conanrun.sh Normal file
View file

@ -0,0 +1 @@
. "/home/plex/Documents/code/cpp/glsl-basic/deactivate_conanrunenv-release-x86_64.sh"

View file

@ -0,0 +1,73 @@
# Avoid multiple calls to find_package to append duplicated properties to the targets
include_guard()########### VARIABLES #######################################################################
#############################################################################################
set(glfw_FRAMEWORKS_FOUND_RELEASE "") # Will be filled later
conan_find_apple_frameworks(glfw_FRAMEWORKS_FOUND_RELEASE "${glfw_FRAMEWORKS_RELEASE}" "${glfw_FRAMEWORK_DIRS_RELEASE}")
set(glfw_LIBRARIES_TARGETS "") # Will be filled later
######## Create an interface target to contain all the dependencies (frameworks, system and conan deps)
if(NOT TARGET glfw_DEPS_TARGET)
add_library(glfw_DEPS_TARGET INTERFACE IMPORTED)
endif()
set_property(TARGET glfw_DEPS_TARGET
PROPERTY INTERFACE_LINK_LIBRARIES
$<$<CONFIG:Release>:${glfw_FRAMEWORKS_FOUND_RELEASE}>
$<$<CONFIG:Release>:${glfw_SYSTEM_LIBS_RELEASE}>
$<$<CONFIG:Release>:opengl::opengl;xorg::xorg>
APPEND)
####### Find the libraries declared in cpp_info.libs, create an IMPORTED target for each one and link the
####### glfw_DEPS_TARGET to all of them
conan_package_library_targets("${glfw_LIBS_RELEASE}" # libraries
"${glfw_LIB_DIRS_RELEASE}" # package_libdir
"${glfw_BIN_DIRS_RELEASE}" # package_bindir
"${glfw_LIBRARY_TYPE_RELEASE}"
"${glfw_IS_HOST_WINDOWS_RELEASE}"
glfw_DEPS_TARGET
glfw_LIBRARIES_TARGETS # out_libraries_targets
"_RELEASE"
"glfw" # package_name
"${glfw_NO_SONAME_MODE_RELEASE}") # soname
# FIXME: What is the result of this for multi-config? All configs adding themselves to path?
set(CMAKE_MODULE_PATH ${glfw_BUILD_DIRS_RELEASE} ${CMAKE_MODULE_PATH})
########## GLOBAL TARGET PROPERTIES Release ########################################
set_property(TARGET glfw
PROPERTY INTERFACE_LINK_LIBRARIES
$<$<CONFIG:Release>:${glfw_OBJECTS_RELEASE}>
$<$<CONFIG:Release>:${glfw_LIBRARIES_TARGETS}>
APPEND)
if("${glfw_LIBS_RELEASE}" STREQUAL "")
# If the package is not declaring any "cpp_info.libs" the package deps, system libs,
# frameworks etc are not linked to the imported targets and we need to do it to the
# global target
set_property(TARGET glfw
PROPERTY INTERFACE_LINK_LIBRARIES
glfw_DEPS_TARGET
APPEND)
endif()
set_property(TARGET glfw
PROPERTY INTERFACE_LINK_OPTIONS
$<$<CONFIG:Release>:${glfw_LINKER_FLAGS_RELEASE}> APPEND)
set_property(TARGET glfw
PROPERTY INTERFACE_INCLUDE_DIRECTORIES
$<$<CONFIG:Release>:${glfw_INCLUDE_DIRS_RELEASE}> APPEND)
# Necessary to find LINK shared libraries in Linux
set_property(TARGET glfw
PROPERTY INTERFACE_LINK_DIRECTORIES
$<$<CONFIG:Release>:${glfw_LIB_DIRS_RELEASE}> APPEND)
set_property(TARGET glfw
PROPERTY INTERFACE_COMPILE_DEFINITIONS
$<$<CONFIG:Release>:${glfw_COMPILE_DEFINITIONS_RELEASE}> APPEND)
set_property(TARGET glfw
PROPERTY INTERFACE_COMPILE_OPTIONS
$<$<CONFIG:Release>:${glfw_COMPILE_OPTIONS_RELEASE}> APPEND)
########## For the modules (FindXXX)
set(glfw_LIBRARIES_RELEASE glfw)

View file

@ -0,0 +1,21 @@
set(PACKAGE_VERSION "3.3.8")
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
set(PACKAGE_VERSION_COMPATIBLE FALSE)
else()
if("3.3.8" MATCHES "^([0-9]+)\\.")
set(CVF_VERSION_MAJOR ${CMAKE_MATCH_1})
else()
set(CVF_VERSION_MAJOR "3.3.8")
endif()
if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR)
set(PACKAGE_VERSION_COMPATIBLE TRUE)
else()
set(PACKAGE_VERSION_COMPATIBLE FALSE)
endif()
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
set(PACKAGE_VERSION_EXACT TRUE)
endif()
endif()

40
glfw3-config.cmake Normal file
View file

@ -0,0 +1,40 @@
########## MACROS ###########################################################################
#############################################################################################
# Requires CMake > 3.15
if(${CMAKE_VERSION} VERSION_LESS "3.15")
message(FATAL_ERROR "The 'CMakeDeps' generator only works with CMake >= 3.15")
endif()
if(glfw3_FIND_QUIETLY)
set(glfw3_MESSAGE_MODE VERBOSE)
else()
set(glfw3_MESSAGE_MODE STATUS)
endif()
include(${CMAKE_CURRENT_LIST_DIR}/cmakedeps_macros.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/glfw3Targets.cmake)
include(CMakeFindDependencyMacro)
check_build_type_defined()
foreach(_DEPENDENCY ${glfw_FIND_DEPENDENCY_NAMES} )
# Check that we have not already called a find_package with the transitive dependency
if(NOT ${_DEPENDENCY}_FOUND)
find_dependency(${_DEPENDENCY} REQUIRED ${${_DEPENDENCY}_FIND_MODE})
endif()
endforeach()
set(glfw3_VERSION_STRING "3.3.8")
set(glfw3_INCLUDE_DIRS ${glfw_INCLUDE_DIRS_RELEASE} )
set(glfw3_INCLUDE_DIR ${glfw_INCLUDE_DIRS_RELEASE} )
set(glfw3_LIBRARIES ${glfw_LIBRARIES_RELEASE} )
set(glfw3_DEFINITIONS ${glfw_DEFINITIONS_RELEASE} )
# Only the first installed configuration is included to avoid the collision
foreach(_BUILD_MODULE ${glfw_BUILD_MODULES_PATHS_RELEASE} )
message(${glfw3_MESSAGE_MODE} "Conan: Including build module from '${_BUILD_MODULE}'")
include(${_BUILD_MODULE})
endforeach()

View file

@ -0,0 +1,47 @@
########### AGGREGATED COMPONENTS AND DEPENDENCIES FOR THE MULTI CONFIG #####################
#############################################################################################
set(glfw_COMPONENT_NAMES "")
list(APPEND glfw_FIND_DEPENDENCY_NAMES opengl_system xorg)
list(REMOVE_DUPLICATES glfw_FIND_DEPENDENCY_NAMES)
set(opengl_system_FIND_MODE "NO_MODULE")
set(xorg_FIND_MODE "NO_MODULE")
########### VARIABLES #######################################################################
#############################################################################################
set(glfw_PACKAGE_FOLDER_RELEASE "/home/plex/.conan2/p/b/glfwdefb5f57f4bbb/p")
set(glfw_BUILD_MODULES_PATHS_RELEASE )
set(glfw_INCLUDE_DIRS_RELEASE "${glfw_PACKAGE_FOLDER_RELEASE}/include")
set(glfw_RES_DIRS_RELEASE )
set(glfw_DEFINITIONS_RELEASE )
set(glfw_SHARED_LINK_FLAGS_RELEASE )
set(glfw_EXE_LINK_FLAGS_RELEASE )
set(glfw_OBJECTS_RELEASE )
set(glfw_COMPILE_DEFINITIONS_RELEASE )
set(glfw_COMPILE_OPTIONS_C_RELEASE )
set(glfw_COMPILE_OPTIONS_CXX_RELEASE )
set(glfw_LIB_DIRS_RELEASE "${glfw_PACKAGE_FOLDER_RELEASE}/lib")
set(glfw_BIN_DIRS_RELEASE )
set(glfw_LIBRARY_TYPE_RELEASE STATIC)
set(glfw_IS_HOST_WINDOWS_RELEASE 0)
set(glfw_LIBS_RELEASE glfw3)
set(glfw_SYSTEM_LIBS_RELEASE m pthread dl rt)
set(glfw_FRAMEWORK_DIRS_RELEASE )
set(glfw_FRAMEWORKS_RELEASE )
set(glfw_BUILD_DIRS_RELEASE )
set(glfw_NO_SONAME_MODE_RELEASE FALSE)
# COMPOUND VARIABLES
set(glfw_COMPILE_OPTIONS_RELEASE
"$<$<COMPILE_LANGUAGE:CXX>:${glfw_COMPILE_OPTIONS_CXX_RELEASE}>"
"$<$<COMPILE_LANGUAGE:C>:${glfw_COMPILE_OPTIONS_C_RELEASE}>")
set(glfw_LINKER_FLAGS_RELEASE
"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>:${glfw_SHARED_LINK_FLAGS_RELEASE}>"
"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,MODULE_LIBRARY>:${glfw_SHARED_LINK_FLAGS_RELEASE}>"
"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>:${glfw_EXE_LINK_FLAGS_RELEASE}>")
set(glfw_COMPONENTS_RELEASE )

27
glfw3Targets.cmake Normal file
View file

@ -0,0 +1,27 @@
# Load the debug and release variables
get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
file(GLOB DATA_FILES "${_DIR}/glfw3-*-data.cmake")
foreach(f ${DATA_FILES})
include(${f})
endforeach()
# Create the targets for all the components
foreach(_COMPONENT ${glfw_COMPONENT_NAMES} )
if(NOT TARGET ${_COMPONENT})
add_library(${_COMPONENT} INTERFACE IMPORTED)
message(${glfw3_MESSAGE_MODE} "Conan: Component target declared '${_COMPONENT}'")
endif()
endforeach()
if(NOT TARGET glfw)
add_library(glfw INTERFACE IMPORTED)
message(${glfw3_MESSAGE_MODE} "Conan: Target declared 'glfw'")
endif()
# Load the debug and release library finders
get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
file(GLOB CONFIG_FILES "${_DIR}/glfw3-Target-*.cmake")
foreach(f ${CONFIG_FILES})
include(${f})
endforeach()

View file

@ -0,0 +1,73 @@
# Avoid multiple calls to find_package to append duplicated properties to the targets
include_guard()########### VARIABLES #######################################################################
#############################################################################################
set(opengl_FRAMEWORKS_FOUND_RELEASE "") # Will be filled later
conan_find_apple_frameworks(opengl_FRAMEWORKS_FOUND_RELEASE "${opengl_FRAMEWORKS_RELEASE}" "${opengl_FRAMEWORK_DIRS_RELEASE}")
set(opengl_LIBRARIES_TARGETS "") # Will be filled later
######## Create an interface target to contain all the dependencies (frameworks, system and conan deps)
if(NOT TARGET opengl_DEPS_TARGET)
add_library(opengl_DEPS_TARGET INTERFACE IMPORTED)
endif()
set_property(TARGET opengl_DEPS_TARGET
PROPERTY INTERFACE_LINK_LIBRARIES
$<$<CONFIG:Release>:${opengl_FRAMEWORKS_FOUND_RELEASE}>
$<$<CONFIG:Release>:${opengl_SYSTEM_LIBS_RELEASE}>
$<$<CONFIG:Release>:>
APPEND)
####### Find the libraries declared in cpp_info.libs, create an IMPORTED target for each one and link the
####### opengl_DEPS_TARGET to all of them
conan_package_library_targets("${opengl_LIBS_RELEASE}" # libraries
"${opengl_LIB_DIRS_RELEASE}" # package_libdir
"${opengl_BIN_DIRS_RELEASE}" # package_bindir
"${opengl_LIBRARY_TYPE_RELEASE}"
"${opengl_IS_HOST_WINDOWS_RELEASE}"
opengl_DEPS_TARGET
opengl_LIBRARIES_TARGETS # out_libraries_targets
"_RELEASE"
"opengl" # package_name
"${opengl_NO_SONAME_MODE_RELEASE}") # soname
# FIXME: What is the result of this for multi-config? All configs adding themselves to path?
set(CMAKE_MODULE_PATH ${opengl_BUILD_DIRS_RELEASE} ${CMAKE_MODULE_PATH})
########## GLOBAL TARGET PROPERTIES Release ########################################
set_property(TARGET opengl::opengl
PROPERTY INTERFACE_LINK_LIBRARIES
$<$<CONFIG:Release>:${opengl_OBJECTS_RELEASE}>
$<$<CONFIG:Release>:${opengl_LIBRARIES_TARGETS}>
APPEND)
if("${opengl_LIBS_RELEASE}" STREQUAL "")
# If the package is not declaring any "cpp_info.libs" the package deps, system libs,
# frameworks etc are not linked to the imported targets and we need to do it to the
# global target
set_property(TARGET opengl::opengl
PROPERTY INTERFACE_LINK_LIBRARIES
opengl_DEPS_TARGET
APPEND)
endif()
set_property(TARGET opengl::opengl
PROPERTY INTERFACE_LINK_OPTIONS
$<$<CONFIG:Release>:${opengl_LINKER_FLAGS_RELEASE}> APPEND)
set_property(TARGET opengl::opengl
PROPERTY INTERFACE_INCLUDE_DIRECTORIES
$<$<CONFIG:Release>:${opengl_INCLUDE_DIRS_RELEASE}> APPEND)
# Necessary to find LINK shared libraries in Linux
set_property(TARGET opengl::opengl
PROPERTY INTERFACE_LINK_DIRECTORIES
$<$<CONFIG:Release>:${opengl_LIB_DIRS_RELEASE}> APPEND)
set_property(TARGET opengl::opengl
PROPERTY INTERFACE_COMPILE_DEFINITIONS
$<$<CONFIG:Release>:${opengl_COMPILE_DEFINITIONS_RELEASE}> APPEND)
set_property(TARGET opengl::opengl
PROPERTY INTERFACE_COMPILE_OPTIONS
$<$<CONFIG:Release>:${opengl_COMPILE_OPTIONS_RELEASE}> APPEND)
########## For the modules (FindXXX)
set(opengl_LIBRARIES_RELEASE opengl::opengl)

View file

@ -0,0 +1,21 @@
set(PACKAGE_VERSION "system")
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
set(PACKAGE_VERSION_COMPATIBLE FALSE)
else()
if("system" MATCHES "^([0-9]+)\\.")
set(CVF_VERSION_MAJOR ${CMAKE_MATCH_1})
else()
set(CVF_VERSION_MAJOR "system")
endif()
if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR)
set(PACKAGE_VERSION_COMPATIBLE TRUE)
else()
set(PACKAGE_VERSION_COMPATIBLE FALSE)
endif()
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
set(PACKAGE_VERSION_EXACT TRUE)
endif()
endif()

View file

@ -0,0 +1,40 @@
########## MACROS ###########################################################################
#############################################################################################
# Requires CMake > 3.15
if(${CMAKE_VERSION} VERSION_LESS "3.15")
message(FATAL_ERROR "The 'CMakeDeps' generator only works with CMake >= 3.15")
endif()
if(opengl_system_FIND_QUIETLY)
set(opengl_system_MESSAGE_MODE VERBOSE)
else()
set(opengl_system_MESSAGE_MODE STATUS)
endif()
include(${CMAKE_CURRENT_LIST_DIR}/cmakedeps_macros.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/opengl_systemTargets.cmake)
include(CMakeFindDependencyMacro)
check_build_type_defined()
foreach(_DEPENDENCY ${opengl_FIND_DEPENDENCY_NAMES} )
# Check that we have not already called a find_package with the transitive dependency
if(NOT ${_DEPENDENCY}_FOUND)
find_dependency(${_DEPENDENCY} REQUIRED ${${_DEPENDENCY}_FIND_MODE})
endif()
endforeach()
set(opengl_system_VERSION_STRING "system")
set(opengl_system_INCLUDE_DIRS ${opengl_INCLUDE_DIRS_RELEASE} )
set(opengl_system_INCLUDE_DIR ${opengl_INCLUDE_DIRS_RELEASE} )
set(opengl_system_LIBRARIES ${opengl_LIBRARIES_RELEASE} )
set(opengl_system_DEFINITIONS ${opengl_DEFINITIONS_RELEASE} )
# Only the first installed configuration is included to avoid the collision
foreach(_BUILD_MODULE ${opengl_BUILD_MODULES_PATHS_RELEASE} )
message(${opengl_system_MESSAGE_MODE} "Conan: Including build module from '${_BUILD_MODULE}'")
include(${_BUILD_MODULE})
endforeach()

View file

@ -0,0 +1,44 @@
########### AGGREGATED COMPONENTS AND DEPENDENCIES FOR THE MULTI CONFIG #####################
#############################################################################################
set(opengl_COMPONENT_NAMES "")
set(opengl_FIND_DEPENDENCY_NAMES "")
########### VARIABLES #######################################################################
#############################################################################################
set(opengl_PACKAGE_FOLDER_RELEASE "/home/plex/.conan2/p/openg64faf4cf4ac21/p")
set(opengl_BUILD_MODULES_PATHS_RELEASE )
set(opengl_INCLUDE_DIRS_RELEASE )
set(opengl_RES_DIRS_RELEASE )
set(opengl_DEFINITIONS_RELEASE )
set(opengl_SHARED_LINK_FLAGS_RELEASE )
set(opengl_EXE_LINK_FLAGS_RELEASE )
set(opengl_OBJECTS_RELEASE )
set(opengl_COMPILE_DEFINITIONS_RELEASE )
set(opengl_COMPILE_OPTIONS_C_RELEASE )
set(opengl_COMPILE_OPTIONS_CXX_RELEASE )
set(opengl_LIB_DIRS_RELEASE )
set(opengl_BIN_DIRS_RELEASE )
set(opengl_LIBRARY_TYPE_RELEASE SHARED)
set(opengl_IS_HOST_WINDOWS_RELEASE 0)
set(opengl_LIBS_RELEASE )
set(opengl_SYSTEM_LIBS_RELEASE GL)
set(opengl_FRAMEWORK_DIRS_RELEASE )
set(opengl_FRAMEWORKS_RELEASE )
set(opengl_BUILD_DIRS_RELEASE )
set(opengl_NO_SONAME_MODE_RELEASE FALSE)
# COMPOUND VARIABLES
set(opengl_COMPILE_OPTIONS_RELEASE
"$<$<COMPILE_LANGUAGE:CXX>:${opengl_COMPILE_OPTIONS_CXX_RELEASE}>"
"$<$<COMPILE_LANGUAGE:C>:${opengl_COMPILE_OPTIONS_C_RELEASE}>")
set(opengl_LINKER_FLAGS_RELEASE
"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>:${opengl_SHARED_LINK_FLAGS_RELEASE}>"
"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,MODULE_LIBRARY>:${opengl_SHARED_LINK_FLAGS_RELEASE}>"
"$<$<STREQUAL:$<TARGET_PROPERTY:TYPE>,EXECUTABLE>:${opengl_EXE_LINK_FLAGS_RELEASE}>")
set(opengl_COMPONENTS_RELEASE )

View file

@ -0,0 +1,27 @@
# Load the debug and release variables
get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
file(GLOB DATA_FILES "${_DIR}/opengl_system-*-data.cmake")
foreach(f ${DATA_FILES})
include(${f})
endforeach()
# Create the targets for all the components
foreach(_COMPONENT ${opengl_COMPONENT_NAMES} )
if(NOT TARGET ${_COMPONENT})
add_library(${_COMPONENT} INTERFACE IMPORTED)
message(${opengl_system_MESSAGE_MODE} "Conan: Component target declared '${_COMPONENT}'")
endif()
endforeach()
if(NOT TARGET opengl::opengl)
add_library(opengl::opengl INTERFACE IMPORTED)
message(${opengl_system_MESSAGE_MODE} "Conan: Target declared 'opengl::opengl'")
endif()
# Load the debug and release library finders
get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
file(GLOB CONFIG_FILES "${_DIR}/opengl_system-Target-*.cmake")
foreach(f ${CONFIG_FILES})
include(${f})
endforeach()

12
src/main.cpp Normal file
View file

@ -0,0 +1,12 @@
#include "glsl-basic.h"
#include <vector>
#include <string>
int main() {
glsl_basic();
std::vector<std::string> vec;
vec.push_back("test_package");
glsl_basic_print_vector(vec);
}

2971
xorg-Target-release.cmake Normal file

File diff suppressed because it is too large Load diff

21
xorg-config-version.cmake Normal file
View file

@ -0,0 +1,21 @@
set(PACKAGE_VERSION "system")
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
set(PACKAGE_VERSION_COMPATIBLE FALSE)
else()
if("system" MATCHES "^([0-9]+)\\.")
set(CVF_VERSION_MAJOR ${CMAKE_MATCH_1})
else()
set(CVF_VERSION_MAJOR "system")
endif()
if(PACKAGE_FIND_VERSION_MAJOR STREQUAL CVF_VERSION_MAJOR)
set(PACKAGE_VERSION_COMPATIBLE TRUE)
else()
set(PACKAGE_VERSION_COMPATIBLE FALSE)
endif()
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
set(PACKAGE_VERSION_EXACT TRUE)
endif()
endif()

40
xorg-config.cmake Normal file
View file

@ -0,0 +1,40 @@
########## MACROS ###########################################################################
#############################################################################################
# Requires CMake > 3.15
if(${CMAKE_VERSION} VERSION_LESS "3.15")
message(FATAL_ERROR "The 'CMakeDeps' generator only works with CMake >= 3.15")
endif()
if(xorg_FIND_QUIETLY)
set(xorg_MESSAGE_MODE VERBOSE)
else()
set(xorg_MESSAGE_MODE STATUS)
endif()
include(${CMAKE_CURRENT_LIST_DIR}/cmakedeps_macros.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/xorgTargets.cmake)
include(CMakeFindDependencyMacro)
check_build_type_defined()
foreach(_DEPENDENCY ${xorg_FIND_DEPENDENCY_NAMES} )
# Check that we have not already called a find_package with the transitive dependency
if(NOT ${_DEPENDENCY}_FOUND)
find_dependency(${_DEPENDENCY} REQUIRED ${${_DEPENDENCY}_FIND_MODE})
endif()
endforeach()
set(xorg_VERSION_STRING "system")
set(xorg_INCLUDE_DIRS ${xorg_INCLUDE_DIRS_RELEASE} )
set(xorg_INCLUDE_DIR ${xorg_INCLUDE_DIRS_RELEASE} )
set(xorg_LIBRARIES ${xorg_LIBRARIES_RELEASE} )
set(xorg_DEFINITIONS ${xorg_DEFINITIONS_RELEASE} )
# Only the first installed configuration is included to avoid the collision
foreach(_BUILD_MODULE ${xorg_BUILD_MODULES_PATHS_RELEASE} )
message(${xorg_MESSAGE_MODE} "Conan: Including build module from '${_BUILD_MODULE}'")
include(${_BUILD_MODULE})
endforeach()

File diff suppressed because it is too large Load diff

27
xorgTargets.cmake Normal file
View file

@ -0,0 +1,27 @@
# Load the debug and release variables
get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
file(GLOB DATA_FILES "${_DIR}/xorg-*-data.cmake")
foreach(f ${DATA_FILES})
include(${f})
endforeach()
# Create the targets for all the components
foreach(_COMPONENT ${xorg_COMPONENT_NAMES} )
if(NOT TARGET ${_COMPONENT})
add_library(${_COMPONENT} INTERFACE IMPORTED)
message(${xorg_MESSAGE_MODE} "Conan: Component target declared '${_COMPONENT}'")
endif()
endforeach()
if(NOT TARGET xorg::xorg)
add_library(xorg::xorg INTERFACE IMPORTED)
message(${xorg_MESSAGE_MODE} "Conan: Target declared 'xorg::xorg'")
endif()
# Load the debug and release library finders
get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
file(GLOB CONFIG_FILES "${_DIR}/xorg-Target-*.cmake")
foreach(f ${CONFIG_FILES})
include(${f})
endforeach()